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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x210
mov eax, dword [esp + 0x224]
mov edi, dword [esp + 0x228]
mov ecx, dword [esp + 0x22c]
mov ebp, dword [esp + 0x230]
mov edx, dword [esp + 0x238]
mov ebx, dword [esp + 0x24c]
neg ecx
add ecx, ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x23c]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x240]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x244]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x248]
mov dword [esp + 0x60], edx
mov edx, dword [edx + 0x3c]
mov dword [esp + 0x64], ebx
mov ebx, dword [esp + 0x250]
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x254]
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x258]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], ecx
lea ebx, [esp + 0xc0]
xor edx, edx
mov dword [ebx], edx
mov dword [ebx + 4], edx
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x10], edx
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x18], edx
mov dword [ebx + 0x1c], edx
mov dword [ebx + 0x20], edx
mov dword [ebx + 0x24], edx
mov dword [ebx + 0x28], edx
mov dword [ebx + 0x2c], edx
mov dword [ebx + 0x30], edx
mov dword [ebx + 0x34], edx
mov dword [ebx + 0x38], edx
mov dword [ebx + 0x3c], edx
mov dword [ebx + 0x40], edx
mov dword [ebx + 0x44], edx
mov dword [ebx + 0x48], edx
mov dword [ebx + 0x4c], edx
mov dword [ebx + 0x50], edx
mov dword [ebx + 0x54], edx
mov dword [ebx + 0x58], edx
mov dword [ebx + 0x5c], edx
mov dword [ebx + 0x60], edx
mov dword [ebx + 0x64], edx
mov dword [ebx + 0x68], edx
mov dword [ebx + 0x6c], edx
mov dword [ebx + 0x70], edx
mov dword [ebx + 0x74], edx
mov dword [ebx + 0x78], edx
mov dword [ebx + 0x7c], edx
mov dword [ebx + 0x80], edx
mov dword [ebx + 0x84], edx
mov dword [ebx + 0x88], edx
mov dword [ebx + 0x8c], edx
mov dword [ebx + 0x90], edx
mov dword [ebx + 0x94], edx
mov dword [ebx + 0x98], edx
mov dword [ebx + 0x9c], edx
mov dword [ebx + 0xa0], edx
mov dword [ebx + 0xa4], edx
mov dword [ebx + 0xa8], edx
mov dword [ebx + 0xac], edx
mov dword [ebx + 0xb0], edx
mov dword [ebx + 0xb4], edx
mov dword [ebx + 0xb8], edx
mov dword [ebx + 0xbc], edx
mov dword [ebx + 0xc0], edx
mov dword [ebx + 0xc4], edx
mov dword [ebx + 0xc8], edx
mov dword [ebx + 0xcc], edx
mov dword [ebx + 0xd0], edx
mov dword [ebx + 0xd4], edx
mov dword [ebx + 0xd8], edx
mov dword [ebx + 0xdc], edx
mov ebx, dword [esp + 0x6c]
lea ebp, [esp + 0x1d4]
mov edx, dword [eax + 8]
mov dword [esp + 0x118], edx
lea edx, [esp + 0x1a0]
mov dword [esp + 0xdc], edx
lea edx, [esp + 0x1b8]
mov dword [esp + 0xe0], edx
lea edx, [esp + 0x1d0]
mov dword [esp + 0xe4], edx
mov edx, dword [edi]
mov edx, dword [edx*4 + 0x1008b7a0]
mov dword [esp + 0x110], edx
mov edx, dword [eax + 0x44]
mov dword [esp + 0x124], edx
mov dword [esp + 0xd0], 0
mov edx, dword [edi + 4]
and edx, 0x10000000
mov dword [esp + 0x12c], edx
mov dword [esp + 0x120], ebp
mov ecx, dword [ebx + 4]
mov dword [esp + 0x108], ecx
mov ecx, dword [eax + 0x14]
xor edx, edx
mov dword [esp + 0xa0], edx
test ecx, ecx
jbe 0x10061833
mov edx, dword [eax + 0x10]
mov dword [esp + 0x1f4], 0
mov ebx, dword [0x10321710]
mov esi, dword [0x10321714]
mov dword [esp + 0x1f8], ebx
test edx, edx
mov ebp, 0
mov dword [esp + 0x1fc], esi
mov dword [esp + 0x200], ebx
jbe 0x1006181a
mov dword [esp + 0x208], 0
mov dword [esp + 0x204], esi
lea ecx, [edi + 0x30]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa8], eax
lea ebx, [ebp + ebp]
add ebx, ebx
add ebx, ebx
sub ebx, ebp
add ebx, ebx
add ebx, ebx
add ebx, ebx
sub ebx, ebp
add ebx, ebx
add ebx, ebx
add ebx, ebx
lea esi, [ebp + ebp]
add esi, esi
add esi, esi
add esi, esi
mov dword [esp + 0xac], esi
mov esi, dword [edi + 0x3c]
lea eax, [edx + edx]
add eax, eax
add eax, eax
sub eax, edx
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
add eax, eax
add eax, eax
add eax, eax
imul eax, dword [esp + 0xa0]
add esi, eax
lea edx, [esi + ebx]
add eax, dword [esp + 0x50]
lea ecx, [eax + ebx]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0x60]
mov edx, dword [edx + 0xc]
cmp edx, 3
mov dword [esp + 0x98], ecx
je 0x10061059
mov eax, dword [ebx + eax + 0xec]
cmp eax, 0x10
jne 0x10061059
mov dword [ebx + esi + 0xec], 0x10
jmp 0x100617ed
mov edx, dword [esp + 0x118]
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x24], ebp
lea eax, [edx + edx]
imul edx, ecx
add eax, eax
add eax, eax
add eax, eax
imul eax, ecx
shr edx, 1
add eax, dword [edi + 0x30]
add eax, dword [esp + 0xac]
add edx, edx
add edx, edx
mov dword [esp + 0x10c], eax
mov ecx, dword [edi + 0x34]
add edx, edx
lea eax, [ebp + ebp]
add eax, eax
add eax, eax
mov dword [esp + 0xa4], eax
add ecx, edx
add ecx, eax
mov dword [esp + 0x100], ecx
mov ecx, dword [edi + 0x38]
add ecx, edx
mov edx, dword [esp + 0x78]
add ecx, eax
mov dword [esp + 0x104], ecx
mov ecx, dword [esp + 0x6c]
mov eax, dword [edi]
mov dword [ebx + esi + 0xf0], eax
mov eax, dword [esp + 0x70]
mov eax, dword [eax]
mov edx, dword [edx]
mov ecx, dword [ecx]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x7c]
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x68]
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x28], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x20c]
mov dword [esp + 0x44], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x5c]
call fcn.1006242c
mov dword [esp + 0x98], eax
mov eax, dword [ebx + esi + 0xec]
cmp eax, 4
je 0x100617ed
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x6c]
mov eax, dword [eax]
mov edx, dword [edx]
mov ecx, dword [ecx]
mov dword [esp + 0x34], 3
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0x18]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x200]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x20c]
mov dword [esp + 0x30], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x5c]
call fcn.100618d0
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x74]
mov eax, dword [eax]
mov edx, dword [edx]
mov ecx, dword [ecx]
mov dword [esp + 0x34], 2
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x1f8]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x20c]
mov dword [esp + 0x30], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x64]
call fcn.100618d0
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x6c]
mov eax, dword [eax]
mov edx, dword [edx]
mov ecx, dword [ecx]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x7c]
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x68]
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0x18]
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x30], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x200]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x1f8]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x20c]
mov dword [esp + 0x48], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x5c]
call fcn.10062e20
mov edx, dword [esp + 0x98]
mov eax, dword [edi]
lea ecx, [eax + eax*4]
add ecx, ecx
add ecx, ecx
add ecx, ecx
cmp edx, ecx
jae 0x10061741
mov eax, dword [esp + 0x20c]
mov ecx, edx
lea edx, [eax + eax]
add edx, edx
sub edx, eax
lea eax, [eax + edx*8]
add eax, eax
add eax, eax
add ecx, 1
xor edx, edx
div ecx
cmp eax, 0x32
ja 0x10061392
mov eax, dword [ebx + esi + 0xec]
jmp 0x10061748
mov eax, dword [esp + 0x118]
mov dword [esp + 0xb0], edi
mov dword [esp + 0xb4], ebp
mov ebp, dword [esp + 0x124]
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], esi
add ebp, 1
shr eax, 1
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x15c]
cdq
idiv ebp
mov esi, eax
mov eax, dword [esp + 0x158]
cdq
idiv ebp
mov edi, eax
mov eax, dword [esp + 0x17c]
cdq
idiv ebp
mov ecx, eax
mov eax, dword [esp + 0x178]
cdq
idiv ebp
mov ebx, eax
mov eax, dword [esp + 0x164]
cdq
idiv ebp
add esi, eax
mov eax, dword [esp + 0x160]
cdq
idiv ebp
add edi, eax
mov eax, dword [esp + 0x184]
cdq
idiv ebp
add ecx, eax
mov eax, dword [esp + 0x180]
cdq
idiv ebp
add ebx, eax
mov eax, dword [esp + 0x16c]
cdq
idiv ebp
add esi, eax
mov eax, dword [esp + 0x168]
cdq
idiv ebp
add edi, eax
mov eax, dword [esp + 0x18c]
cdq
idiv ebp
add ecx, eax
mov eax, dword [esp + 0x188]
cdq
idiv ebp
add ebx, eax
mov eax, dword [esp + 0x174]
cdq
idiv ebp
add esi, eax
mov eax, dword [esp + 0x170]
cdq
idiv ebp
add edi, eax
mov eax, dword [esp + 0x194]
cdq
idiv ebp
add ecx, eax
mov eax, dword [esp + 0x190]
cdq
idiv ebp
mov ebp, esi
sar ebp, 3
add ebx, eax
mov eax, dword [esp + 0xa0]
and esi, 0xf
lea edx, [eax + eax]
add edx, edx
add ebp, dword [esi*4 + 0x1008b9e0]
mov esi, edi
sar esi, 3
and edi, 0xf
add edx, edx
add esi, dword [edi*4 + 0x1008b9e0]
mov edi, ecx
sar edi, 3
and ecx, 0xf
mov eax, edx
add edi, dword [ecx*4 + 0x1008b9e0]
mov ecx, ebx
sar ecx, 3
and ebx, 0xf
add esi, 0x80000000
adc esi, 0x80000000
add ebp, 0x80000000
adc ebp, 0x80000000
sar esi, 1
add ecx, dword [ebx*4 + 0x1008b9e0]
mov ebx, dword [esp + 0x84]
imul eax, ebx
sar ebp, 1
add ebp, edx
imul ebp, ebx
add ecx, 0x80000000
adc ecx, 0x80000000
mov dword [esp + 0x8c], eax
add edi, 0x80000000
adc edi, 0x80000000
mov dword [esp + 0x98], esi
sar ecx, 1
mov dword [esp + 0x94], ebp
mov dword [esp + 0x88], ecx
sar edi, 1
add edx, edi
imul edx, ebx
mov ebx, dword [esp + 0xb0]
mov edi, dword [ebx + 0x34]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x80], edx
add edi, ebx
add edi, eax
mov eax, dword [esp + 0x5c]
mov eax, dword [eax + 4]
add eax, ebx
add eax, esi
add eax, ebp
mov ebp, dword [esp + 0x64]
mov ebp, dword [ebp + 4]
add ebp, ebx
add ebp, ecx
add ebp, edx
mov edx, dword [esp + 0x84]
push edx
push ebp
push eax
push edi
mov esi, dword [esp + 0xcc]
mov ebx, dword [esp + 0xc8]
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0xc0]
call dword [0x1031e414]
mov dword [esp + 0xa0], eax
add esp, 0x10
mov edx, eax
mov eax, dword [ebx + esi + 0xf0]
lea ecx, [eax + eax]
add ecx, ecx
sub ecx, eax
add ecx, ecx
add ecx, ecx
sub ecx, eax
add ecx, ecx
add ecx, ecx
cmp edx, ecx
jl 0x100615d3
mov eax, dword [ebx + esi + 0xec]
jmp 0x10061748
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0x5c]
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 8]
add edx, ecx
add edx, dword [esp + 0x98]
add edx, dword [esp + 0x94]
add eax, ecx
add eax, dword [esp + 0x88]
add eax, dword [esp + 0x80]
mov dword [esp + 0xbc], esi
mov esi, dword [edi + 0x38]
add esi, ecx
add esi, dword [esp + 0x8c]
mov ecx, dword [esp + 0x84]
push ecx
push eax
push edx
push esi
mov esi, dword [esp + 0xcc]
call dword [0x1031e414]
add esp, 0x10
mov edx, dword [esp + 0x90]
add edx, eax
mov eax, dword [ebx + esi + 0xf0]
lea ecx, [eax + eax]
add ecx, ecx
sub ecx, eax
add ecx, ecx
add ecx, ecx
sub ecx, eax
add ecx, ecx
add ecx, ecx
cmp edx, ecx
jge 0x10061738
mov edx, dword [ebx + esi]
mov ecx, dword [ebx + esi + 4]
mov dword [ebx + esi + 0xec], 4
mov eax, 4
mov dword [ebx + esi + 0x12c], edx
mov edx, dword [ebx + esi + 0x168]
mov dword [ebx + esi + 0x130], ecx
mov dword [ebx + esi + 0x188], edx
mov edx, dword [ebx + esi + 0x16c]
mov dword [ebx + esi + 0x18c], edx
mov edx, dword [ebx + esi + 8]
mov dword [ebx + esi + 0x134], edx
mov edx, dword [ebx + esi + 0xc]
mov dword [ebx + esi + 0x138], edx
mov edx, dword [ebx + esi + 0x170]
mov dword [ebx + esi + 0x190], edx
mov edx, dword [ebx + esi + 0x174]
mov dword [ebx + esi + 0x194], edx
mov edx, dword [ebx + esi + 0x10]
mov dword [ebx + esi + 0x13c], edx
mov edx, dword [ebx + esi + 0x14]
mov dword [ebx + esi + 0x140], edx
mov edx, dword [ebx + esi + 0x178]
mov dword [ebx + esi + 0x198], edx
mov edx, dword [ebx + esi + 0x17c]
mov dword [ebx + esi + 0x19c], edx
mov edx, dword [ebx + esi + 0x18]
mov dword [ebx + esi + 0x144], edx
mov edx, dword [ebx + esi + 0x1c]
mov dword [ebx + esi + 0x148], edx
mov edx, dword [ebx + esi + 0x180]
mov dword [ebx + esi + 0x1a0], edx
mov edx, dword [ebx + esi + 0x184]
mov dword [ebx + esi + 0x1a4], edx
jmp 0x10061748
mov eax, dword [ebx + esi + 0xec]
jmp 0x10061748
mov eax, dword [ebx + esi + 0xec]
cmp eax, 3
je 0x10061888
cmp eax, 2
je 0x1006183e
cmp eax, 1
jne 0x100617ed
mov eax, dword [esp + 0x124]
mov dword [esp + 0x98], eax
test eax, eax
je 0x10061793
mov eax, dword [ebx + esi + 0x12c]
mov dword [esp + 0x200], eax
mov edx, dword [ebx + esi + 0x130]
mov dword [esp + 0x204], edx
jmp 0x100617a8
mov eax, dword [ebx + esi]
mov dword [esp + 0x200], eax
mov edx, dword [ebx + esi + 4]
mov dword [esp + 0x204], edx
mov eax, dword [esp + 0x98]
test eax, eax
je 0x100617d1
mov eax, dword [ebx + esi + 0x188]
mov dword [esp + 0x1f8], eax
mov edx, dword [ebx + esi + 0x18c]
mov dword [esp + 0x1fc], edx
jmp 0x100617ed
mov eax, dword [ebx + esi + 0x168]
mov dword [esp + 0x1f8], eax
mov edx, dword [ebx + esi + 0x16c]
mov dword [esp + 0x1fc], edx
mov eax, dword [esp + 0xa8]
mov edx, dword [eax + 0x10]
add dword [esp + 0xac], 0x10
add ebx, 0x1b8
add ebp, 1
cmp ebp, edx
jb 0x10060ff5
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax + 0x14]
mov ebx, dword [esp + 0xa0]
add ebx, 1
mov dword [esp + 0xa0], ebx
cmp ebx, ecx
jb 0x10060f7b
add esp, 0x210
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [esp + 0x124]
test eax, eax
je 0x10061867
mov eax, dword [ebx + esi + 0x188]
mov dword [esp + 0x1f8], eax
mov edx, dword [ebx + esi + 0x18c]
mov dword [esp + 0x1fc], edx
jmp 0x100617ed
mov eax, dword [ebx + esi + 0x168]
mov dword [esp + 0x1f8], eax
mov edx, dword [ebx + esi + 0x16c]
mov dword [esp + 0x1fc], edx
jmp 0x100617ed
mov eax, dword [esp + 0x124]
test eax, eax
je 0x100618b4
mov eax, dword [ebx + esi + 0x12c]
mov dword [esp + 0x200], eax
mov edx, dword [ebx + esi + 0x130]
mov dword [esp + 0x204], edx
jmp 0x100617ed
mov eax, dword [ebx + esi]
mov dword [esp + 0x200], eax
mov edx, dword [ebx + esi + 4]
mov dword [esp + 0x204], edx
jmp 0x100617ed