Function at 0x526900
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x18c
push ebx
push ebp
push esi
push edi
mov ebp, ecx
call fcn.00523270
mov esi, dword [esp + 0x1a0]
mov bl, al
mov ecx, esi
mov byte [esp + 0x12], bl
call fcn.00523270
movzx edi, bl
push edi
push esi
mov ecx, ebp
mov byte [esp + 0x1b], al
call fcn.00522e20
lea eax, [esi + 0x20]
push edi
lea ecx, [ebp + 0x20]
push eax
mov dword [esp + 0x1c], eax
call fcn.00522e20
add esi, 0x40
push edi
lea ebx, [ebp + 0x40]
push esi
mov ecx, ebx
mov dword [esp + 0x20], esi
call fcn.00522e20
mov ecx, 8
mov esi, ebp
lea edi, [esp + 0x1c]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x1a0]
mov ecx, 8
lea edi, [esp + 0x5c]
rep movsd dword es:[edi], dword [esi]
mov ecx, 8
lea esi, [ebp + 0x20]
lea edi, [esp + 0x7c]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x14]
mov ecx, 8
lea edi, [esp + 0x3c]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x18]
push esi
lea ecx, [esp + 0x20]
call fcn.00525c10
push ebx
lea ecx, [esp + 0x60]
call fcn.00525c10
push esi
lea ecx, [esp + 0x80]
call fcn.00525c10
push ebx
lea ecx, [esp + 0x40]
call fcn.00525c10
mov eax, dword [esp + 0x78]
xor eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x1c]
xor ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
xor edx, dword [esp + 0x20]
or eax, ecx
mov ecx, dword [esp + 0x64]
xor ecx, dword [esp + 0x24]
or eax, edx
mov edx, dword [esp + 0x68]
xor edx, dword [esp + 0x28]
or eax, ecx
mov ecx, dword [esp + 0x6c]
xor ecx, dword [esp + 0x2c]
or eax, edx
mov edx, dword [esp + 0x70]
xor edx, dword [esp + 0x30]
or eax, ecx
mov ecx, dword [esp + 0x74]
or eax, edx
xor ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x7c]
or eax, ecx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
sete byte [esp + 0x10]
xor eax, dword [esp + 0x80]
xor edx, dword [esp + 0x3c]
xor ecx, dword [esp + 0x84]
or edx, eax
mov eax, dword [esp + 0x48]
xor eax, dword [esp + 0x88]
or edx, ecx
mov ecx, dword [esp + 0x4c]
xor ecx, dword [esp + 0x8c]
or edx, eax
mov eax, dword [esp + 0x50]
xor eax, dword [esp + 0x90]
or edx, ecx
mov ecx, dword [esp + 0x54]
xor ecx, dword [esp + 0x94]
or edx, eax
mov eax, dword [esp + 0x58]
xor eax, dword [esp + 0x98]
or edx, ecx
mov ecx, 0x18
mov esi, ebp
lea edi, [esp + 0x13c]
or edx, eax
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x13c]
sete byte [esp + 0x11]
call fcn.005264a0
mov ecx, 8
lea esi, [esp + 0x1c]
lea edi, [esp + 0x9c]
rep movsd dword es:[edi], dword [esi]
push 1
lea ecx, [esp + 0x60]
push ecx
lea ecx, [esp + 0xa4]
call fcn.00522bd0
push eax
push 0x6450d0
call fcn.00522b10
mov ecx, 8
lea esi, [esp + 0x7c]
lea edi, [esp + 0xfc]
push 1
lea edx, [esp + 0x40]
rep movsd dword es:[edi], dword [esi]
push edx
lea ecx, [esp + 0x104]
call fcn.00522bd0
push eax
push 0x6450d0
call fcn.00522b10
mov eax, dword [esp + 0x18]
mov ecx, 8
mov esi, ebx
lea edi, [esp + 0xdc]
rep movsd dword es:[edi], dword [esi]
push eax
lea ecx, [esp + 0xe0]
call fcn.00525c10
mov ecx, 8
lea esi, [esp + 0x9c]
lea edi, [esp + 0xbc]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xbc]
push ecx
call fcn.00525c10
mov ecx, 8
lea esi, [esp + 0xbc]
lea edi, [esp + 0x11c]
lea edx, [esp + 0x9c]
rep movsd dword es:[edi], dword [esi]
push edx
lea ecx, [esp + 0x120]
call fcn.00525c10
push 1
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x64]
call fcn.00522b10
push 0x6450d0
mov esi, eax
call fcn.00523030
xor ecx, ecx
test al, al
sete cl
or ecx, esi
push ecx
push 0x6450d0
lea ecx, [esp + 0x64]
call fcn.00522bd0
lea edx, [esp + 0xbc]
push edx
call fcn.00525c10
lea eax, [esp + 0x3c]
mov ecx, 8
lea esi, [esp + 0xfc]
lea edi, [esp + 0x3c]
rep movsd dword es:[edi], dword [esi]
push eax
mov ecx, eax
call fcn.00525c10
lea ecx, [esp + 0xdc]
push ecx
lea ecx, [esp + 0x40]
call fcn.00525c10
push 1
lea edx, [esp + 0x60]
push edx
lea ecx, [esp + 0x44]
call fcn.00522bd0
push eax
push 0x6450d0
call fcn.00522b10
xor eax, eax
cmp byte [esp + 0x11], al
sete al
xor ecx, ecx
cmp byte [esp + 0x13], cl
sete cl
xor edx, edx
and eax, ecx
cmp byte [esp + 0x12], dl
lea ecx, [esp + 0x9c]
sete dl
and eax, edx
mov esi, eax
lea eax, [esp + 0x3c]
push eax
call fcn.00525c10
push esi
lea ecx, [esp + 0xa0]
push ecx
mov ecx, ebp
call fcn.00522e20
lea edx, [esp + 0x11c]
push edx
lea ecx, [esp + 0xe0]
call fcn.00525c10
push esi
lea eax, [esp + 0xe0]
push eax
mov ecx, ebx
call fcn.00522e20
lea ecx, [esp + 0xbc]
push ecx
lea ecx, [esp + 0x20]
call fcn.00525c10
push 1
lea edx, [esp + 0x40]
push edx
lea ecx, [esp + 0x24]
call fcn.00522bd0
push eax
push 0x6450d0
call fcn.00522b10
lea eax, [esp + 0xfc]
push eax
call fcn.00525c10
lea ecx, [esp + 0x11c]
push ecx
lea ecx, [esp + 0x80]
call fcn.00525c10
push 1
lea edx, [esp + 0x80]
push edx
lea ecx, [esp + 0x24]
call fcn.00522bd0
push eax
push 0x6450d0
call fcn.00522b10
mov eax, ecx
push esi
lea edi, [ebp + 0x20]
push eax
mov ecx, edi
call fcn.00522e20
cmp byte [esp + 0x13], 0
sete al
cmp byte [esp + 0x12], 0
sete cl
and al, cl
and al, byte [esp + 0x11]
xor edx, edx
cmp byte [esp + 0x10], dl
movzx eax, al
sete dl
mov ecx, ebp
mov dword [esp + 0x14], eax
and edx, eax
mov esi, edx
push esi
push 0x645190
call fcn.00522e20
push esi
push 0x6451b0
mov ecx, edi
call fcn.00522e20
push esi
push 0x6451d0
mov ecx, ebx
call fcn.00522e20
movzx esi, byte [esp + 0x10]
and esi, dword [esp + 0x14]
lea eax, [esp + 0x13c]
push esi
push eax
mov ecx, ebp
call fcn.00522e20
push esi
lea ecx, [esp + 0x160]
push ecx
mov ecx, edi
call fcn.00522e20
push esi
lea edx, [esp + 0x180]
push edx
mov ecx, ebx
call fcn.00522e20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 4