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

Disassembly:
sub esp, 0x7b0
mov eax, dword [0x1005d3b0]
xor eax, esp
mov dword [esp + 0x7ac], eax
mov eax, dword [esp + 0x7b8]
push ebx
mov ebx, dword [esp + 0x7c0]
push ebp
mov ebp, dword [esp + 0x7bc]
push esi
push edi
push 0x6c
mov dword [esp + 0x20], eax
lea eax, [esp + 0x100]
push 0
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x7dc]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x7d8]
push eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebp
call fcn.1003d590
mov esi, ebx
lea edi, [esp + 0x174]
mov ecx, 9
lea ebx, [esp + 0x204]
rep movsd dword es:[edi], dword [esi]
mov esi, ebp
lea edi, [esp + 0x198]
mov ecx, 9
add esp, 0xc
rep movsd dword es:[edi], dword [esi]
mov ecx, 9
lea edi, [esp + 0x1b0]
mov esi, 0x10057730
mov ebp, 2
rep movsd dword es:[edi], dword [esi]
mov eax, ebp
lea esi, [ebx + 0x24]
shr eax, 1
lea edi, [ebx - 0x24]
imul ecx, eax, 0x6c
lea eax, [esp + 0x144]
add eax, ecx
push eax
lea eax, [esp + 0x124]
add eax, ecx
push eax
lea eax, [esp + 0x104]
add eax, ecx
push eax
push esi
push ebx
push edi
call fcn.10036760
push dword [esp + 0x2c]
lea eax, [ebx + 0x90]
push dword [esp + 0x2c]
push esi
push ebx
push edi
push eax
lea eax, [ebx + 0x6c]
push eax
lea eax, [ebx + 0x48]
push eax
call fcn.10036250
add ebp, 2
add esp, 0x38
add ebx, 0xd8
cmp ebp, 0x10
jl 0x10036f02
mov ebp, dword [esp + 0x18]
xor eax, eax
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov dword [ebp], eax
mov dword [ebp + 4], eax
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], eax
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x18], eax
mov dword [ebp + 0x1c], eax
mov dword [ebp + 0x20], eax
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], eax
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], eax
mov dword [edi + 0x20], eax
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x20], eax
or eax, 0xffffffff
xor edx, edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
nop
test edx, edx
je 0x1003700a
push ebx
push edi
push ebp
push ebx
push edi
push ebp
call fcn.10036760
push ebx
push edi
push ebp
push ebx
push edi
push ebp
call fcn.10036760
push ebx
push edi
push ebp
push ebx
push edi
push ebp
call fcn.10036760
add esp, 0x48
push ebx
push edi
push ebp
push ebx
push edi
push ebp
call fcn.10036760
mov edx, dword [esp + 0x2c]
add esp, 0x18
mov eax, dword [esp + 0x7d8]
mov ecx, edx
shr ecx, 1
sub eax, ecx
movzx esi, byte [eax + 0x1f]
test dl, 1
je 0x10037025
and esi, 0xf
jmp 0x10037028
shr esi, 4
push esi
lea eax, [esp + 0x100]
push eax
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x34]
push eax
call fcn.100374b0
lea eax, [esp + 0x80]
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x40]
push eax
push ebx
push edi
push ebp
lea eax, [esp + 0xe0]
push eax
lea eax, [esp + 0x108]
push eax
lea eax, [esp + 0xc4]
push eax
call fcn.10035f80
mov edx, dword [esp + 0x48]
add esp, 0x38
mov ecx, dword [ebp]
xor ecx, dword [esp + 0x24]
and ecx, edx
xor dword [ebp], ecx
mov ecx, dword [ebp + 4]
xor ecx, dword [esp + 0x28]
and ecx, edx
xor dword [ebp + 4], ecx
mov ecx, dword [ebp + 8]
xor ecx, dword [esp + 0x2c]
and ecx, edx
xor dword [ebp + 8], ecx
mov ecx, dword [esp + 0x30]
xor ecx, dword [ebp + 0xc]
and ecx, edx
xor dword [ebp + 0xc], ecx
mov ecx, dword [esp + 0x34]
xor ecx, dword [ebp + 0x10]
and ecx, edx
xor dword [ebp + 0x10], ecx
mov ecx, dword [esp + 0x38]
xor ecx, dword [ebp + 0x14]
and ecx, edx
xor dword [ebp + 0x14], ecx
mov ecx, dword [esp + 0x3c]
xor ecx, dword [ebp + 0x18]
and ecx, edx
xor dword [ebp + 0x18], ecx
mov ecx, dword [esp + 0x40]
xor ecx, dword [ebp + 0x1c]
and ecx, edx
xor dword [ebp + 0x1c], ecx
mov ecx, dword [esp + 0x44]
xor ecx, dword [ebp + 0x20]
and ecx, edx
xor dword [ebp + 0x20], ecx
mov ecx, dword [esp + 0x48]
xor ecx, dword [edi]
and ecx, edx
xor dword [edi], ecx
mov ecx, dword [esp + 0x4c]
xor ecx, dword [edi + 4]
and ecx, edx
xor dword [edi + 4], ecx
mov ecx, dword [esp + 0x50]
xor ecx, dword [edi + 8]
and ecx, edx
xor dword [edi + 8], ecx
mov ecx, dword [esp + 0x54]
xor ecx, dword [edi + 0xc]
and ecx, edx
xor dword [edi + 0xc], ecx
mov ecx, dword [esp + 0x58]
xor ecx, dword [edi + 0x10]
dec esi
and ecx, edx
shr esi, 0x1f
xor dword [edi + 0x10], ecx
dec esi
mov ecx, dword [esp + 0x5c]
xor ecx, dword [edi + 0x14]
and ecx, edx
xor dword [edi + 0x14], ecx
mov ecx, dword [esp + 0x60]
xor ecx, dword [edi + 0x18]
and ecx, edx
xor dword [edi + 0x18], ecx
mov ecx, dword [esp + 0x64]
xor ecx, dword [edi + 0x1c]
and ecx, edx
xor dword [edi + 0x1c], ecx
mov ecx, dword [esp + 0x68]
xor ecx, dword [edi + 0x20]
and ecx, edx
xor dword [edi + 0x20], ecx
mov ecx, dword [ebx]
xor ecx, dword [esp + 0x6c]
and ecx, edx
xor dword [ebx], ecx
mov ecx, dword [ebx + 4]
xor ecx, dword [esp + 0x70]
and ecx, edx
xor dword [ebx + 4], ecx
mov ecx, dword [ebx + 8]
xor ecx, dword [esp + 0x74]
and ecx, edx
xor dword [ebx + 8], ecx
mov ecx, dword [ebx + 0xc]
xor ecx, dword [esp + 0x78]
and ecx, edx
xor dword [ebx + 0xc], ecx
mov ecx, dword [ebx + 0x10]
xor ecx, dword [esp + 0x7c]
and ecx, edx
xor dword [ebx + 0x10], ecx
mov ecx, dword [ebx + 0x14]
xor ecx, dword [esp + 0x80]
and ecx, edx
xor dword [ebx + 0x14], ecx
mov ecx, dword [ebx + 0x18]
xor ecx, dword [esp + 0x84]
and ecx, edx
xor dword [ebx + 0x18], ecx
mov ecx, dword [ebx + 0x1c]
xor ecx, dword [esp + 0x88]
and ecx, edx
xor dword [ebx + 0x1c], ecx
mov ecx, dword [ebx + 0x20]
xor ecx, dword [esp + 0x8c]
and ecx, edx
not edx
xor dword [ebx + 0x20], ecx
and edx, esi
mov ecx, dword [ebp]
xor ecx, dword [esp + 0x90]
and ecx, edx
xor dword [ebp], ecx
mov ecx, dword [ebp + 4]
xor ecx, dword [esp + 0x94]
and ecx, edx
xor dword [ebp + 4], ecx
mov ecx, dword [ebp + 8]
xor ecx, dword [esp + 0x98]
and ecx, edx
xor dword [ebp + 8], ecx
mov ecx, dword [ebp + 0xc]
xor ecx, dword [esp + 0x9c]
and ecx, edx
xor dword [ebp + 0xc], ecx
mov ecx, dword [ebp + 0x10]
xor ecx, dword [esp + 0xa0]
and ecx, edx
xor dword [ebp + 0x10], ecx
mov ecx, dword [esp + 0xa4]
xor ecx, dword [ebp + 0x14]
and ecx, edx
xor dword [ebp + 0x14], ecx
mov ecx, dword [esp + 0xa8]
xor ecx, dword [ebp + 0x18]
and ecx, edx
xor dword [ebp + 0x18], ecx
mov ecx, dword [esp + 0xac]
xor ecx, dword [ebp + 0x1c]
and ecx, edx
xor dword [ebp + 0x1c], ecx
mov ecx, dword [ebp + 0x20]
xor ecx, dword [esp + 0xb0]
and ecx, edx
xor dword [ebp + 0x20], ecx
mov ecx, dword [edi]
xor ecx, dword [esp + 0xd8]
and ecx, edx
xor dword [edi], ecx
mov ecx, dword [edi + 4]
xor ecx, dword [esp + 0xdc]
and ecx, edx
xor dword [edi + 4], ecx
mov ecx, dword [edi + 8]
xor ecx, dword [esp + 0xe0]
and ecx, edx
xor dword [edi + 8], ecx
mov ecx, dword [edi + 0xc]
xor ecx, dword [esp + 0xe4]
and ecx, edx
xor dword [edi + 0xc], ecx
mov ecx, dword [edi + 0x10]
xor ecx, dword [esp + 0xe8]
and ecx, edx
xor dword [edi + 0x10], ecx
mov ecx, dword [edi + 0x14]
xor ecx, dword [esp + 0xec]
and ecx, edx
xor dword [edi + 0x14], ecx
mov ecx, dword [edi + 0x18]
xor ecx, dword [esp + 0xf0]
and ecx, edx
xor dword [edi + 0x18], ecx
mov ecx, dword [edi + 0x1c]
xor ecx, dword [esp + 0xf4]
and ecx, edx
xor dword [edi + 0x1c], ecx
mov ecx, dword [edi + 0x20]
xor ecx, dword [esp + 0xf8]
and ecx, edx
xor dword [edi + 0x20], ecx
mov ecx, dword [ebx]
xor ecx, dword [esp + 0xb4]
and ecx, edx
xor dword [ebx], ecx
mov ecx, dword [ebx + 4]
xor ecx, dword [esp + 0xb8]
and ecx, edx
xor dword [ebx + 4], ecx
mov ecx, dword [ebx + 8]
xor ecx, dword [esp + 0xbc]
and ecx, edx
xor dword [ebx + 8], ecx
mov ecx, dword [ebx + 0xc]
xor ecx, dword [esp + 0xc0]
and ecx, edx
xor dword [ebx + 0xc], ecx
mov ecx, dword [ebx + 0x10]
xor ecx, dword [esp + 0xc4]
and ecx, edx
xor dword [ebx + 0x10], ecx
mov ecx, dword [ebx + 0x14]
xor ecx, dword [esp + 0xc8]
and ecx, edx
xor dword [ebx + 0x14], ecx
mov ecx, dword [ebx + 0x18]
xor ecx, dword [esp + 0xcc]
and ecx, edx
xor dword [ebx + 0x18], ecx
mov ecx, dword [ebx + 0x1c]
xor ecx, dword [esp + 0xd0]
and ecx, edx
not esi
xor dword [ebx + 0x1c], ecx
mov ecx, dword [ebx + 0x20]
xor ecx, dword [esp + 0xd4]
and dword [esp + 0x10], esi
and ecx, edx
mov edx, dword [esp + 0x14]
xor dword [ebx + 0x20], ecx
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x40
jl 0x10036fd0
mov ecx, dword [esp + 0x7bc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1003cf2f
add esp, 0x7b0
ret