Guest User

void __thiscall Blaze__ServiceResolver__sendRequestToRedirec

a guest
May 24th, 2014
450
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.26 KB | None | 0 0
  1. void __thiscall Blaze__ServiceResolver__sendRequestToRedirector(Blaze::ServiceResolver *this)
  2. {
  3. unsigned int v1; // ebx@1
  4. void *v2; // edi@1
  5. int v3; // esi@1
  6. char *v4; // ecx@2
  7. const char *v5; // eax@8
  8. const char *v6; // eax@10
  9. Blaze::ComponentManager *v7; // eax@10
  10. Blaze::Redirector::RedirectorComponent *v8; // eax@10
  11. Blaze::JobId v9; // ST10_4@10
  12. Blaze::Job *v10; // eax@11
  13. const char *v11; // [sp-8h] [bp-12Ch]@3
  14. unsigned int v12; // [sp-4h] [bp-128h]@3
  15. Blaze::JobId id; // [sp+Ch] [bp-118h]@10
  16. Blaze::Functor4<Blaze::Redirector::ServerInstanceInfo const *,Blaze::Redirector::ServerInstanceError const *,int,Blaze::JobId> callback; // [sp+10h] [bp-114h]@10
  17. char v15; // [sp+28h] [bp-FCh]@1
  18. char v16; // [sp+30h] [bp-F4h]@1
  19. char v17; // [sp+3Ch] [bp-E8h]@7
  20. char v18; // [sp+48h] [bp-DCh]@8
  21. char v19; // [sp+54h] [bp-D0h]@10
  22. char v20; // [sp+60h] [bp-C4h]@10
  23. char v21; // [sp+6Ch] [bp-B8h]@10
  24. char v22; // [sp+78h] [bp-ACh]@10
  25. int v23; // [sp+84h] [bp-A0h]@10
  26. char v24; // [sp+88h] [bp-9Ch]@10
  27. char v25; // [sp+94h] [bp-90h]@10
  28. char v26; // [sp+A0h] [bp-84h]@10
  29. char dsVers[32]; // [sp+C4h] [bp-60h]@10
  30. char buildDate[64]; // [sp+E4h] [bp-40h]@10
  31.  
  32. v2 = this;
  33. v1 = this->mConnection.mNextMessageId;
  34. Blaze__Redirector__ServerInstanceRequest__ServerInstanceRequest((Blaze::Redirector::ServerInstanceRequest *)&v15, 0);
  35. Blaze__TdfString__set((Blaze::TdfString *)&v16, (const char *)(v1 + 8), 0);
  36. v3 = *(_DWORD *)v2 + 172;
  37. switch ( *(_DWORD *)(*(_DWORD *)v2 + 864) )
  38. {
  39. case 0:
  40. v4 = Blaze__Redirector__ENVIRONMENT_SDEV;
  41. goto LABEL_6;
  42. case 1:
  43. v12 = 0;
  44. v11 = Blaze__Redirector__ENVIRONMENT_STEST;
  45. goto LABEL_7;
  46. case 2:
  47. v12 = 0;
  48. v11 = Blaze__Redirector__ENVIRONMENT_SCERT;
  49. goto LABEL_7;
  50. case 3:
  51. v4 = (char *)Blaze__Redirector__ENVIRONMENT_PROD;
  52. LABEL_6:
  53. v12 = 0;
  54. v11 = v4;
  55. LABEL_7:
  56. Blaze__TdfString__set((Blaze::TdfString *)&v17, v11, v12);
  57. break;
  58. default:
  59. break;
  60. }
  61. Blaze__TdfString__set((Blaze::TdfString *)&v18, "Windows", 0);
  62. v5 = Blaze__Redirector__CONNECTIONPROFILE_STANDARD_CLIENT_SECURE;
  63. if ( !*(_BYTE *)(v3 + 689) )
  64. v5 = Blaze__Redirector__CONNECTIONPROFILE_STANDARD_CLIENT;
  65. Blaze__TdfString__set((Blaze::TdfString *)&v19, v5, 0);
  66. Blaze__TdfString__set((Blaze::TdfString *)&v20, (const char *)v3, 0);
  67. Blaze__TdfString__set((Blaze::TdfString *)&v21, (const char *)(v3 + 64), 0);
  68. Blaze__TdfString__set((Blaze::TdfString *)&v22, (const char *)(v3 + 128), 0);
  69. v23 = *(_DWORD *)(v3 + 668);
  70. v6 = Blaze__getBlazeSdkVersionString();
  71. Blaze__TdfString__set((Blaze::TdfString *)&v24, v6, 0);
  72. blaze_snzprintf(buildDate, 0x40u, "%s %s");
  73. Blaze__TdfString__set((Blaze::TdfString *)&v25, buildDate, 0);
  74. blaze_snzprintf(dsVers, 0x20u, "%d.%d.%d.%d");
  75. Blaze__TdfString__set((Blaze::TdfString *)&v26, dsVers, 0);
  76. v7 = Blaze__BlazeConnection__getComponentManager((Blaze::BlazeConnection *)((char *)v2 + 12), 0);
  77. v8 = Blaze__ComponentManager__getRedirectorComponent(v7);
  78. v9.mId = *(_DWORD *)(v1 + 160);
  79. __asm
  80. {
  81. pxor xmm0, xmm0
  82. movq qword ptr [esp+130h+callback.baseclass_0.___u2], xmm0
  83. }
  84. callback.baseclass_0.___u2.mFunc = Blaze__ServiceResolver__onGetServerInstance;
  85. callback.baseclass_0.mExecuteFunc = Blaze__Functor4_Blaze__Redirector__ServerInstanceInfo_const___Blaze__Redirector__ServerInstanceError_const___int_Blaze__JobId___ExecuteFunction_Blaze__ServiceResolver_void____thiscall_Blaze__ServiceResolver_____Blaze__Redirector__ServerInstanceInfo_const___Blaze__Redirector__ServerInstanceError_const___int_Blaze__JobId__;
  86. callback.baseclass_0.mObject = v2;
  87. __asm { movq qword ptr [esp+13Ch+callback.baseclass_0.___u2+8], xmm0 }
  88. Blaze__Redirector__RedirectorComponent__getServerInstance(
  89. v8,
  90. &id,
  91. (Blaze::Redirector::ServerInstanceRequest *)&v15,
  92. &callback,
  93. v9,
  94. 0x2710u,
  95. 0);
  96. if ( id.mId & 0xF7FFFFFF )
  97. {
  98. v10 = Blaze__JobScheduler__getJob((Blaze::JobScheduler *)(*(_DWORD *)v2 + 1360), &id);
  99. if ( v10 )
  100. v10[1].mProvider = *(Blaze::JobProvider **)(v1 + 140);
  101. }
  102. Blaze__Redirector__ServerInstanceRequest___ServerInstanceRequest((Blaze::Redirector::ServerInstanceRequest *)&v15);
  103. }
Advertisement
Add Comment
Please, Sign In to add comment