Function at 0x4123d0
Capabilities:
Contain obfuscated stackstrings
Get process heap flags
Get process heap force flags

Disassembly:
push 0xffffffffffffffff
push 0x593c9e
mov eax, dword fs:[0]
push eax
sub esp, 0x1e8
mov eax, dword [0x6204e0]
xor eax, esp
mov dword [esp + 0x1e4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x6204e0]
xor eax, esp
push eax
lea eax, [esp + 0x1fc]
mov dword fs:[0], eax
mov esi, ecx
xor ebx, ebx
mov byte [esi], bl
mov edi, 0xf
mov dword [esi + 0x1c], edi
mov dword [esi + 0x18], ebx
mov dword [esp + 0x54], esi
mov byte [esi + 8], bl
mov dword [esi + 0x38], edi
mov dword [esi + 0x34], ebx
mov dword [esp + 0x204], ebx
mov byte [esi + 0x24], bl
mov dword [esi + 0x54], edi
mov dword [esi + 0x50], ebx
mov byte [esi + 0x40], bl
mov dword [esi + 0x70], edi
mov dword [esi + 0x6c], ebx
mov byte [esi + 0x5c], bl
mov dword [esi + 0x8c], edi
mov dword [esi + 0x88], ebx
mov byte [esi + 0x78], bl
mov dword [esi + 0xa8], edi
mov dword [esi + 0xa4], ebx
mov byte [esi + 0x94], bl
push ebx
lea eax, [esi + 0xe0]
push 0x1cf
push eax
mov byte [esp + 0x210], 5
mov dword [esi + 0xb0], ebx
mov dword [esi + 0xb4], ebx
mov dword [esi + 0xb8], ebx
mov dword [esi + 0xbc], ebx
mov dword [esi + 0xc0], ebx
mov byte [esi + 0xc4], 1
mov byte [esi + 0xc5], 1
mov byte [esi + 0xc6], 1
mov byte [esi + 0xc7], 1
mov dword [esi + 0xc8], ebx
mov dword [esi + 0xcc], ebx
mov dword [esi + 0xd0], ebx
mov dword [esi + 0xd4], ebx
mov dword [esi + 0xd8], ebx
mov dword [esi + 0xdc], ebx
call fcn.0040ec70
add esp, 0xc
mov dword [esi + 0xfc], 0x1cf
mov byte [esi + 0x100], bl
mov dword [esi + 0x11c], edi
mov dword [esi + 0x118], ebx
mov byte [esi + 0x108], bl
mov dword [esi + 0x138], edi
mov dword [esi + 0x134], ebx
mov byte [esi + 0x124], bl
mov dword [esi + 0x154], edi
mov dword [esi + 0x150], ebx
mov byte [esi + 0x140], bl
mov byte [esi + 0x158], bl
mov byte [esi + 0x159], bl
mov byte [esi + 0x15a], bl
mov byte [esi + 0x15b], bl
mov byte [esi + 0x15c], bl
mov byte [esi + 0x15d], bl
mov dword [esi + 0x160], ebx
mov dword [esi + 0x164], ebx
mov dword [esi + 0x168], ebx
mov dword [esi + 0x16c], ebx
mov dword [esi + 0x188], edi
mov dword [esi + 0x184], ebx
mov byte [esi + 0x174], bl
mov dword [esi + 0x1a4], edi
mov dword [esi + 0x1a0], ebx
mov byte [esi + 0x190], bl
mov dword [esi + 0x1c0], edi
mov dword [esi + 0x1bc], ebx
mov byte [esi + 0x1ac], bl
mov dword [esi + 0x1dc], edi
mov dword [esi + 0x1d8], ebx
mov byte [esi + 0x1c8], bl
mov dword [esi + 0x1f8], edi
mov dword [esi + 0x1f4], ebx
mov byte [esi + 0x1e4], bl
mov dword [esi + 0x214], edi
mov dword [esi + 0x210], ebx
mov byte [esi + 0x200], bl
mov dword [esi + 0x230], edi
mov dword [esi + 0x22c], ebx
mov byte [esi + 0x21c], bl
mov dword [esi + 0x24c], edi
mov dword [esi + 0x248], ebx
mov byte [esi + 0x238], bl
mov byte [esi + 0x250], bl
mov byte [esi + 0x251], bl
mov dword [esi + 0x254], ebx
mov dword [esi + 0x270], edi
mov dword [esi + 0x26c], ebx
mov byte [esi + 0x25c], bl
mov dword [esi + 0x28c], edi
mov dword [esi + 0x288], ebx
mov byte [esi + 0x278], bl
mov byte [esi + 0x290], bl
mov byte [esi + 0x291], bl
mov dword [esi + 0x2ac], edi
mov dword [esi + 0x2a8], ebx
mov byte [esi + 0x298], bl
mov dword [esi + 0x2c8], edi
mov dword [esi + 0x2c4], ebx
mov byte [esi + 0x2b4], bl
push ebx
push 0x2710
push 1
lea ecx, [esi + 0x2d0]
mov byte [esp + 0x210], 0x15
call fcn.0043a780
push ebx
push 0x2710
push 2
lea ecx, [esi + 0x468]
mov byte [esp + 0x210], 0x16
call fcn.0043a780
push ebx
push ebx
push 3
lea ecx, [esi + 0x600]
mov byte [esp + 0x210], 0x17
call fcn.0043a780
push ebx
push ebx
push 4
lea ecx, [esi + 0x798]
mov byte [esp + 0x210], 0x18
call fcn.0043a780
push ebx
push ebx
mov byte [esp + 0x20c], 0x19
push ebx
lea ecx, [esi + 0x930]
call fcn.0043a780
lea ebp, [esi + 0xacc]
mov dword [ebp + 0x18], edi
mov dword [ebp + 0x14], ebx
mov byte [ebp + 4], bl
mov dword [esi + 0xb00], edi
mov dword [esi + 0xafc], ebx
mov byte [esi + 0xaec], bl
mov dword [esi + 0xb1c], edi
mov dword [esi + 0xb18], ebx
mov byte [esi + 0xb08], bl
mov dword [esi + 0xb38], edi
mov dword [esi + 0xb34], ebx
mov byte [esi + 0xb24], bl
mov dword [esi + 0xb54], edi
mov dword [esi + 0xb50], ebx
mov byte [esi + 0xb40], bl
mov dword [esi + 0xb70], edi
mov dword [esi + 0xb6c], ebx
mov byte [esi + 0xb5c], bl
mov dword [esi + 0xb8c], edi
mov dword [esi + 0xb88], ebx
mov byte [esi + 0xb78], bl
mov dword [esi + 0xba8], edi
mov dword [esi + 0xba4], ebx
mov byte [esi + 0xb94], bl
mov dword [esi + 0xbc4], edi
mov dword [esi + 0xbc0], ebx
mov byte [esi + 0xbb0], bl
mov dword [esi + 0xbe0], edi
mov dword [esi + 0xbdc], ebx
mov byte [esi + 0xbcc], bl
mov dword [esi + 0xbfc], edi
mov dword [esi + 0xbf8], ebx
mov byte [esi + 0xbe8], bl
mov dword [esi + 0xc18], edi
mov dword [esi + 0xc14], ebx
mov byte [esi + 0xc04], bl
mov dword [esi + 0xc34], edi
mov dword [esi + 0xc30], ebx
mov byte [esi + 0xc20], bl
mov dword [esi + 0xc50], edi
mov dword [esi + 0xc4c], ebx
mov byte [esi + 0xc3c], bl
mov dword [esi + 0xc6c], edi
mov dword [esi + 0xc68], ebx
mov byte [esi + 0xc58], bl
mov dword [esi + 0xc88], edi
mov dword [esi + 0xc84], ebx
mov byte [esi + 0xc74], bl
mov dword [esi + 0xca4], edi
mov dword [esi + 0xca0], ebx
mov byte [esi + 0xc90], bl
lea ecx, [esi + 0xca8]
mov byte [esp + 0x204], 0x2b
call fcn.0040bbb0
mov byte [esi + 0xcc4], bl
mov dword [esi + 0xce0], edi
mov dword [esi + 0xcdc], ebx
mov byte [esi + 0xccc], bl
mov dword [esi + 0xce4], ebx
mov byte [esi + 0xce8], bl
mov dword [esi + 0xd04], edi
mov dword [esi + 0xd00], ebx
mov byte [esi + 0xcf0], bl
mov dword [esi + 0xd08], ebx
mov dword [esi + 0xd24], edi
mov dword [esi + 0xd20], ebx
mov byte [esi + 0xd10], bl
mov dword [esi + 0xd40], edi
mov dword [esi + 0xd3c], ebx
mov byte [esi + 0xd2c], bl
lea ecx, [esi + 0xd44]
mov byte [esp + 0x204], 0x30
call fcn.0040bbb0
mov dword [esi + 0xd78], edi
mov dword [esi + 0xd74], ebx
mov byte [esi + 0xd64], bl
mov dword [esi + 0xd94], edi
mov dword [esi + 0xd90], ebx
mov byte [esi + 0xd80], bl
mov dword [esi + 0xdb0], edi
mov dword [esi + 0xdac], ebx
mov byte [esi + 0xd9c], bl
mov dword [esi + 0xdcc], edi
mov dword [esi + 0xdc8], ebx
mov byte [esi + 0xdb8], bl
push 1
push 2
lea ecx, [esi + 0xdd8]
mov byte [esp + 0x20c], 0x35
mov dword [esi + 0xdd0], ebx
mov dword [esi + 0xdd4], ebx
call fcn.0040e790
mov dword [esi + 0xe70], edi
mov dword [esi + 0xe6c], ebx
mov byte [esi + 0xe5c], bl
mov dword [esi + 0xe74], ebx
mov dword [esi + 0xe90], edi
mov dword [esi + 0xe8c], ebx
mov byte [esi + 0xe7c], bl
mov dword [esi + 0xeac], edi
mov dword [esi + 0xea8], ebx
mov byte [esi + 0xe98], bl
mov dword [esi + 0xec8], edi
mov dword [esi + 0xec4], ebx
mov byte [esi + 0xeb4], bl
mov dword [esi + 0xee4], edi
mov dword [esi + 0xee0], ebx
mov byte [esi + 0xed0], bl
mov dword [esi + 0xf00], edi
mov dword [esi + 0xefc], ebx
mov byte [esi + 0xeec], bl
mov dword [esi + 0xf1c], edi
mov dword [esi + 0xf18], ebx
mov byte [esi + 0xf08], bl
push 0x114
lea ecx, [esp + 0xe8]
push ebx
push ecx
mov byte [esp + 0x210], 0x3d
mov byte [esi + 0x15e], bl
call sub.MSVCR90.dll_memset
add esp, 0xc
mov dword [esp + 0xe4], 0x114
lea edx, [esp + 0xe4]
push edx
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov ecx, dword [esp + 0xf0]
mov eax, dword [esp + 0xe8]
push ebx
push ecx
lea edx, [esp + 0xd0]
push edx
mov dword [esi + 0xac8], eax
call fcn.0040ec70
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xf8]
push ebx
push eax
lea ecx, [esp + 0x28]
push ecx
mov byte [esp + 0x21c], 0x3e
call fcn.0040ec70
mov dword [esp + 0x68], eax
mov edx, dword [esp + 0x100]
push ebx
push edx
lea eax, [esp + 0x54]
push eax
mov byte [esp + 0x228], 0x3f
call fcn.0040ec70
push 0x5a11d8
push eax
lea ecx, [esp + 0xbc]
push ecx
mov byte [esp + 0x234], 0x40
call fcn.0040c6e0
mov edx, dword [esp + 0x80]
push edx
push eax
lea eax, [esp + 0x90]
push eax
mov byte [esp + 0x240], 0x41
call fcn.0040c7a0
push 0x5a11d8
push eax
lea ecx, [esp + 0xf0]
push ecx
mov byte [esp + 0x24c], 0x42
call fcn.0040c6e0
add esp, 0x48
mov edx, dword [esp + 0x30]
push edx
push eax
lea eax, [esp + 0x7c]
push eax
mov byte [esp + 0x210], 0x43
call fcn.0040c7a0
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
mov ecx, ebp
mov byte [esp + 0x210], 0x44
call fcn.0040b880
cmp dword [esp + 0x8c], 0x10
jb 0x412ab1
mov ecx, dword [esp + 0x78]
push ecx
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
cmp dword [esp + 0xc4], 0x10
mov dword [esp + 0x8c], edi
mov dword [esp + 0x88], ebx
mov byte [esp + 0x78], bl
jb 0x412add
mov edx, dword [esp + 0xb0]
push edx
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
cmp dword [esp + 0x70], 0x10
mov dword [esp + 0xc4], edi
mov dword [esp + 0xc0], ebx
mov byte [esp + 0xb0], bl
jb 0x412b06
mov eax, dword [esp + 0x5c]
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
cmp dword [esp + 0xa8], 0x10
mov dword [esp + 0x70], edi
mov dword [esp + 0x6c], ebx
mov byte [esp + 0x5c], bl
jb 0x412b2c
mov ecx, dword [esp + 0x94]
push ecx
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
cmp dword [esp + 0x4c], 0x10
mov dword [esp + 0xa8], edi
mov dword [esp + 0xa4], ebx
mov byte [esp + 0x94], bl
jb 0x412b55
mov edx, dword [esp + 0x38]
push edx
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
cmp dword [esp + 0x2c], 0x10
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], ebx
mov byte [esp + 0x38], bl
jb 0x412b75
mov eax, dword [esp + 0x18]
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
cmp dword [esp + 0xe0], 0x10
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
mov byte [esp + 0x204], 0x3d
jb 0x412ba3
mov ecx, dword [esp + 0xcc]
push ecx
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
call fcn.00441060
test al, al
je 0x412bba
push 1
push 0x5a11d4
mov ecx, ebp
call fcn.0040b960
call fcn.004457a0
push str.installId
lea ecx, [esp + 0x38]
call fcn.0040c090
lea edx, [esp + 0x34]
push edx
mov byte [esp + 0x208], 0x45
call fcn.004402a0
push eax
lea eax, [esp + 0x1c]
push reloc.WS2_32.dll_accept
push eax
call fcn.0043efb0
add esp, 0x10
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esi + 0xc00]
mov byte [esp + 0x210], 0x46
call fcn.0040b880
mov ebp, 0x10
cmp dword [esp + 0x2c], ebp
jb 0x412c21
mov ecx, dword [esp + 0x18]
push ecx
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
mov byte [esp + 0x204], 0x3d
cmp dword [esp + 0x4c], ebp
jb 0x412c48
mov edx, dword [esp + 0x38]
push edx
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
push str.installId2
lea ecx, [esp + 0x38]
call fcn.0040c090
lea eax, [esp + 0x34]
push eax
mov byte [esp + 0x208], 0x47
call fcn.004402a0
push eax
lea ecx, [esp + 0x1c]
push reloc.WS2_32.dll_accept
push ecx
call fcn.0043efb0
add esp, 0x10
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esi + 0xc1c]
mov byte [esp + 0x210], 0x48
call fcn.0040b880
cmp dword [esp + 0x2c], ebp
jb 0x412ca5
mov edx, dword [esp + 0x18]
push edx
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
mov byte [esp + 0x204], 0x3d
cmp dword [esp + 0x4c], ebp
jb 0x412ccc
mov eax, dword [esp + 0x38]
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
call fcn.00461c70
mov ecx, eax
call fcn.00462880
call fcn.00411530
mov eax, esi
mov ecx, dword [esp + 0x1fc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1e4]
xor ecx, esp
call fcn.0058ecc6
add esp, 0x1f4
ret