Function at 0x436ac0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x52e0fc
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x54
push ebx
push ebp
push esi
push edi
mov ebp, ecx
push 0x578eac
mov dword [esp + 0x1c], ebp
call fcn.00434230
xor ebx, ebx
lea esi, [ebp + 0x168]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x14], esi
lea eax, [esp + 0x13]
mov ecx, esi
push eax
push 1
mov byte [esp + 0x74], 1
call fcn.0043ecd0
lea ecx, [esp + 0x20]
mov byte [esp + 0x6c], 3
call fcn.00436a20
mov edi, dword [esi]
mov cl, byte [esp + 0x13]
lea edx, [esp + 0x12]
mov byte [esp + 0x6c], 4
push edx
push eax
push 1
push edi
mov byte [esp + 0x22], cl
call fcn.004411b0
add esp, 0x10
lea ecx, [esp + 0x24]
mov dword [esi + 4], eax
mov byte [esp + 0x6c], 3
call fcn.00418e50
lea esi, [ebp + 0x174]
mov dword [esp + 0x14], esi
lea eax, [esp + 0x13]
mov ecx, esi
push eax
push 2
mov byte [esp + 0x74], 6
call fcn.0043ed40
lea ecx, [esp + 0x20]
mov byte [esp + 0x6c], 8
call fcn.00436a60
mov edi, dword [esi]
mov cl, byte [esp + 0x13]
lea edx, [esp + 0x12]
mov byte [esp + 0x12], cl
push edx
push eax
push 2
push edi
call fcn.00512530
add esp, 0x10
mov dword [esi + 4], eax
lea eax, [ebp + 0x180]
mov ecx, 6
mov dword [eax], ebx
mov dword [eax + 4], ebx
add eax, 8
dec ecx
jne 0x436ba2
lea eax, [esp + 0x13]
lea ecx, [ebp + 0x1c0]
push eax
mov byte [esp + 0x70], 0xa
call fcn.0050e020
lea edx, [esp + 0x13]
lea ecx, [ebp + 0x1cc]
push edx
mov byte [esp + 0x70], 0xd
call fcn.0050e020
lea eax, [esp + 0x13]
lea ecx, [ebp + 0x1e0]
push eax
mov byte [esp + 0x70], 0x10
call fcn.0050e020
lea ecx, [esp + 0x13]
push ebx
push ecx
lea ecx, [ebp + 0x20c]
mov byte [esp + 0x74], 0x13
mov dword [ebp + 0x204], ebx
mov dword [ebp + 0x208], ebx
call fcn.005124c0
lea edx, [esp + 0x13]
push ebx
push edx
lea ecx, [ebp + 0x220]
mov byte [esp + 0x74], 0x16
mov dword [ebp + 0x218], ebx
mov dword [ebp + 0x21c], ebx
call fcn.005124c0
lea esi, [ebp + 0x23c]
mov dword [esp + 0x14], esi
lea edi, [esi + 8]
lea eax, [esp + 0x13]
push ebx
push eax
mov ecx, edi
mov byte [esp + 0x74], 0x19
mov dword [esi], ebx
mov dword [esi + 4], ebx
call fcn.005124c0
push 8
mov byte [esp + 0x70], 0x1b
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
lea ecx, [eax + 8]
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [edi], ecx
add esp, 4
mov byte [eax], bl
lea esi, [ebp + 0x248]
mov edi, esi
mov dword [esp + 0x1c], edi
lea ecx, [edi + 8]
mov byte [esp + 0x6c], 0x1d
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [esp + 0x14], ecx
push ebx
lea edx, [esp + 0x17]
push edx
call fcn.005124c0
push 8
mov byte [esp + 0x70], 0x1f
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
mov edx, dword [esp + 0x18]
lea ecx, [eax + 8]
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edx], ecx
add esp, 4
mov byte [eax], bl
lea edi, [ebp + 0x254]
mov dword [esp + 0x1c], edi
lea eax, [esp + 0x13]
lea ecx, [edi + 8]
push ebx
push eax
mov byte [esp + 0x74], 0x21
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [esp + 0x1c], ecx
call fcn.005124c0
push 8
mov byte [esp + 0x70], 0x23
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
mov edx, dword [esp + 0x18]
lea ecx, [eax + 8]
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edx], ecx
add esp, 4
mov byte [eax], bl
lea edi, [ebp + 0x260]
mov dword [esp + 0x1c], edi
lea eax, [esp + 0x13]
lea ecx, [edi + 8]
push ebx
push eax
mov byte [esp + 0x74], 0x25
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [esp + 0x1c], ecx
call fcn.005124c0
push 8
mov byte [esp + 0x70], 0x27
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
mov edx, dword [esp + 0x18]
lea ecx, [eax + 8]
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edx], ecx
add esp, 4
mov byte [eax], bl
lea edi, [ebp + 0x26c]
mov dword [esp + 0x1c], edi
lea eax, [esp + 0x13]
mov ecx, edi
push eax
mov byte [esp + 0x70], 0x29
call fcn.0050e020
push 8
mov byte [esp + 0x70], 0x2b
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [edi], eax
mov dword [edi + 4], eax
lea ecx, [eax + 8]
mov dword [edi + 8], ecx
mov byte [eax], bl
lea edi, [ebp + 0x278]
mov dword [esp + 0x1c], edi
lea edx, [esp + 0x13]
mov ecx, edi
push edx
mov byte [esp + 0x70], 0x2d
call fcn.0050e020
push 8
mov byte [esp + 0x70], 0x2f
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
lea ecx, [eax + 8]
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], ecx
add esp, 4
mov byte [eax], bl
lea edi, [ebp + 0x284]
mov dword [esp + 0x1c], edi
lea edx, [esp + 0x13]
mov ecx, edi
push edx
mov byte [esp + 0x70], 0x31
call fcn.0050e020
push 8
mov byte [esp + 0x70], 0x33
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
lea ecx, [eax + 8]
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], ecx
add esp, 4
mov byte [eax], bl
lea ecx, [ebp + 0x290]
call fcn.00436a90
lea ecx, [ebp + 0x2a8]
call fcn.00436a90
lea ecx, [ebp + 0x2c0]
call fcn.00436a90
lea edi, [ebp + 0x2f4]
mov dword [esp + 0x1c], edi
lea edx, [esp + 0x13]
mov ecx, edi
push edx
mov byte [esp + 0x70], 0x35
call fcn.0050e020
push 8
mov byte [esp + 0x70], 0x37
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
lea ecx, [eax + 8]
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], ecx
add esp, 4
mov byte [eax], bl
lea edi, [ebp + 0x300]
mov dword [esp + 0x1c], edi
lea edx, [esp + 0x13]
mov ecx, edi
push edx
mov byte [esp + 0x70], 0x39
call fcn.0050e020
mov byte [esp + 0x6c], 0x3b
push 8
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
lea ecx, [eax + 8]
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], ecx
add esp, 4
mov byte [eax], bl
lea edi, [ebp + 0x30c]
mov dword [esp + 0x1c], edi
lea edx, [esp + 0x13]
mov ecx, edi
push edx
mov byte [esp + 0x70], 0x3d
call fcn.0050e020
push 8
mov byte [esp + 0x70], 0x3f
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
lea ecx, [eax + 8]
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], ecx
add esp, 4
mov byte [eax], bl
lea edx, [esp + 0x13]
lea ecx, [ebp + 0x32c]
push edx
mov byte [esp + 0x70], 0x41
call fcn.0050e020
mov dword [ebp], 0x546da0
mov eax, dword [ebp + 0x174]
mov byte [esp + 0x6c], 0x43
mov dword [eax + 0x20], ebx
mov ecx, dword [ebp + 0x174]
mov eax, 1
mov dword [ecx + 0x24], eax
mov edx, dword [ebp + 0x174]
mov dword [edx + 0x48], eax
mov ecx, dword [ebp + 0x174]
mov edx, 4
mov dword [ecx + 0x4c], ebx
mov dword [ebp + 0x8c], 0x100001
mov dword [ebp + 0x90], edx
mov ecx, 0x41a00000
mov dword [ebp + 0x30], 0x41200000
mov dword [ebp + 0xb8], ecx
mov dword [ebp + 0xc0], 0x41070000
mov dword [ebp + 0xc4], ecx
mov dword [ebp + 0xc8], 0x3f800000
mov dword [ebp + 0x1b0], 0x42c80000
mov dword [ebp + 0x1b4], edx
mov dword [ebp + 0x1b8], ebx
mov dword [ebp + 0xcc], eax
mov dword [ebp + 0xd0], 0x3e4ccccd
mov dword [ebp + 0xdc], eax
mov dword [ebp + 0xe0], eax
mov dword [ebp + 0xe4], eax
or ecx, 0xffffffff
mov dword [ebp + 0x1bc], 0x40a00000
mov dword [ebp + 0x1d8], ecx
mov dword [ebp + 0x1dc], ecx
mov dword [ebp + 0x1ec], ecx
mov dword [ebp + 0x1f0], ecx
mov edx, dword [0x57f4f8]
mov dword [ebp + 0x1f4], edx
mov eax, dword [0x57f4fc]
mov dword [ebp + 0x1f8], eax
mov edx, dword [0x57f4f8]
mov dword [ebp + 0x224], edx
mov eax, dword [0x57f4fc]
mov dword [ebp + 0x228], eax
mov edx, dword [0x57f4f8]
mov dword [ebp + 0x22c], edx
mov eax, dword [0x57f4fc]
mov edi, 0x578ea0
mov dword [ebp + 0x230], eax
mov edx, dword [0x57f4f8]
mov dword [ebp + 0x234], edx
mov eax, dword [0x57f4fc]
mov dword [ebp + 0x238], eax
mov edx, dword [0x57f4f8]
mov dword [ebp + 0x1fc], edx
mov eax, dword [0x57f4fc]
mov dword [ebp + 0x200], eax
mov edx, dword [0x57f4f8]
mov dword [ebp + 0x210], edx
mov eax, dword [0x57f4fc]
mov dword [ebp + 0x214], eax
mov edx, dword [0x57f4f8]
mov dword [ebp + 0xf0], edx
mov eax, dword [0x57f4fc]
mov dword [ebp + 0xf4], eax
mov edx, dword [ebp + 0xf0]
mov eax, 0x41400000
mov dword [ebp + 0x100], edx
mov dword [ebp + 0xf8], eax
mov dword [ebp + 0xfc], eax
mov eax, dword [ebp + 0xf4]
mov edx, dword [ebp + 0xf8]
mov dword [ebp + 0x104], eax
mov eax, dword [ebp + 0xfc]
mov dword [ebp + 0x108], edx
mov dword [ebp + 0x10c], eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, 0x578ea0
push ecx
push 0x578ea0
lea ecx, [ebp + 0x23c]
call fcn.00405c70
mov edi, 0x57f2d4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov edi, dword [esi]
mov esi, dword [esi + 4]
not ecx
dec ecx
sub esi, edi
mov edx, ecx
add edx, 0x57f2d4
mov eax, edx
sub eax, 0x57f2d4
cmp eax, esi
ja 0x4370f3
mov ecx, eax
mov esi, 0x57f2d4
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp + 0x248]
mov edx, dword [ebp + 0x24c]
lea ecx, [ebp + 0x248]
add eax, esi
push edx
push eax
call fcn.00405c30
jmp 0x43712b
mov ecx, esi
mov esi, 0x57f2d4
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp + 0x248]
lea ecx, [esp + 0x12]
push ecx
lea ecx, [ebp + 0x248]
push edx
mov edx, dword [ecx + 4]
sub edx, edi
add edx, 0x57f2d4
push edx
call fcn.0042a1b0
mov ecx, 0x3f19999a
mov eax, 0x3e4ccccd
mov dword [ebp + 0x29c], ecx
mov dword [ebp + 0x2ac], eax
mov dword [ebp + 0x2b0], ecx
mov dword [ebp + 0x2e4], eax
mov dword [ebp + 0x2e8], eax
mov ecx, 0x3e19999a
mov eax, 0x41a00000
mov dword [ebp + 0x2dc], ecx
mov dword [ebp + 0x2e0], ecx
mov ecx, dword [esp + 0x64]
mov dword [ebp + 0x31c], eax
mov dword [ebp + 0x320], eax
pop edi
mov dword [ebp + 0x290], 0x3f800000
mov dword [ebp + 0x294], 0x3e99999a
mov dword [ebp + 0x298], 0x3f800000
mov dword [ebp + 0x2a0], ebx
mov dword [ebp + 0x2a4], 0x40066666
mov dword [ebp + 0x2a8], 0x3f333333
mov dword [ebp + 0x2b4], 0x3ecccccd
mov dword [ebp + 0x2b8], 0x3ff33333
mov dword [ebp + 0x2bc], ebx
mov byte [ebp + 0x2d8], 1
mov dword [ebp + 0x2ec], 0x3f333333
mov dword [ebp + 0x2f0], 0x2710
mov dword [ebp + 0x318], 0x43fa0000
mov dword [ebp + 0x324], 0x41f00000
mov dword [ebp + 0x328], 0x40000000
mov eax, ebp
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x60
ret