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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x28
mov ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
mov dword [esp + 0x14], eax
lea ebp, [edx + edx]
add ebp, ebp
add ebp, ebp
add ebp, ebp
lea edi, [esi + esi]
mov esi, dword [esp + 0x84]
add edi, edi
add edi, edi
add edi, edi
imul edi, dword [esi + 0x58]
add ebp, edi
mov dword [esp + 4], ebp
mov ebp, dword [esi + 0x24]
mov dword [ebp], 0x100000
add ecx, dword [esp + 4]
add ebx, dword [esp + 4]
mov ebp, dword [esp + 4]
add ebp, dword [esp + 0x58]
mov edi, dword [eax]
add edi, dword [esp + 4]
mov dword [esi + 0x28], edi
mov dword [esi + 0x2c], ecx
mov ecx, dword [esp + 0x48]
mov dword [esi + 0x30], ebx
lea edi, [edx + edx]
add edi, edi
add edi, edi
add ecx, dword [esp + 4]
mov dword [esp + 0x10], edi
mov dword [esi + 0x34], ecx
mov ecx, dword [esp + 0x4c]
mov ebx, dword [ecx]
add ebx, dword [esp + 4]
mov dword [esi + 0x74], ebx
mov ebx, dword [esp + 0x50]
add ebx, dword [esp + 4]
mov dword [esi + 0x78], ebx
mov ebx, dword [esp + 0x54]
add ebx, dword [esp + 4]
mov dword [esi + 0x7c], ebx
mov ebx, dword [esp + 0x64]
mov dword [esi + 0x80], ebp
mov ebp, dword [esi + 0x58]
shr ebp, 1
lea ebx, [ebx + ebx]
add ebx, ebx
add ebx, ebx
imul ebp, ebx
mov dword [esp + 0xc], ebx
mov ebx, dword [eax + 4]
add ebx, edi
add ebx, ebp
mov dword [esi + 0x38], ebx
mov ebx, dword [eax + 8]
add ebx, edi
add ebx, ebp
mov dword [esi + 0x3c], ebx
mov ebx, dword [ecx + 4]
add ebx, edi
add ebx, ebp
mov dword [esi + 0x84], ebx
mov ebx, dword [esp + 0x78]
mov ecx, dword [ecx + 8]
add ecx, edi
add ecx, ebp
mov ebp, dword [esi + 0x64]
mov dword [esi + 0x88], ecx
mov ecx, dword [esp + 0x64]
test ebp, ebp
je 0x10062531
mov dword [esp + 4], 4
mov edi, 4
jmp 0x1006253e
mov dword [esp + 4], 2
mov edi, 2
mov eax, dword [esp + 0x74]
lea ebx, [edx + edx]
add ebx, ebx
add ebx, ebx
add ebx, ebx
neg ebx
add ebx, dword [eax]
imul edi, ebx
mov dword [esi], edi
mov ebx, dword [esp + 4]
lea edi, [ecx + ecx]
add edi, edi
add edi, edi
add edi, edi
neg edi
add edi, dword [eax + 4]
imul edi, ebx
neg ebx
mov dword [esi + 8], edi
lea edi, [edx + edx]
add edi, edi
add edi, edi
lea edx, [edi + edx*8 + 0x10]
imul edx, ebx
mov dword [esi + 4], edx
lea edx, [ecx + ecx]
add edx, edx
add edx, edx
lea ecx, [edx + ecx*8 + 0x10]
imul ebx, ecx
test ebp, ebp
mov dword [esi + 0xc], ebx
mov ebx, dword [esp + 0x78]
je 0x100625aa
mov edx, dword [esp + 0x7c]
lea edx, [edx + 0x12c]
mov dword [esi + 0xd8], edx
jmp 0x100625b4
mov edx, dword [esp + 0x7c]
mov dword [esi + 0xd8], edx
mov edi, dword [esp + 0x6c]
xor ebp, ebp
mov dword [esp + 4], ebp
mov dword [esi + 0x68], ebp
xor ecx, ecx
sub edi, dword [esp + 0x70]
mov dword [esp + 8], edi
jmp 0x100625d3
mov edx, dword [esi + 0xd8]
mov ebp, dword [esp + 0x6c]
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x78]
mov eax, dword [edx + ecx*8]
imul eax, ebp
cdq
idiv edi
mov dword [esi + ecx*8 + 0x98], eax
mov edx, dword [esp + 4]
mov dword [ebx + edx*8], eax
mov ecx, dword [esp + 4]
mov edx, dword [esi + 0xd8]
mov eax, dword [edx + ecx*8]
imul eax, dword [esp + 8]
cdq
idiv edi
mov dword [esi + ecx*8 + 0xb8], eax
mov edx, dword [esp + 4]
mov dword [ebx + edx*8 + 0x168], eax
mov ecx, dword [esp + 4]
mov edx, dword [esi + 0xd8]
mov eax, dword [edx + ecx*8 + 4]
imul eax, ebp
cdq
idiv edi
mov dword [esi + ecx*8 + 0x9c], eax
mov edx, dword [esp + 4]
mov dword [ebx + edx*8 + 4], eax
mov ecx, dword [esp + 4]
mov edx, dword [esi + 0xd8]
mov eax, dword [edx + ecx*8 + 4]
imul eax, dword [esp + 8]
cdq
idiv edi
mov dword [esi + ecx*8 + 0xbc], eax
mov edx, dword [esp + 4]
mov dword [ebx + edx*8 + 0x16c], eax
mov ecx, dword [esp + 4]
mov ebp, dword [ebx + ecx*8 + 0x168]
mov edi, dword [ebx + ecx*8 + 0x16c]
cmp ebp, dword [esi]
mov ebx, 0
setg bl
cmp ebp, dword [esi + 4]
mov edx, 0
setl dl
or ebx, edx
cmp edi, dword [esi + 8]
mov edx, 0
setg dl
or ebx, edx
cmp edi, dword [esi + 0xc]
mov edx, 0
setl dl
or ebx, edx
jne 0x10062de0
mov edx, dword [esp + 0x7c]
mov edx, dword [edx + 0xec]
cmp edx, 2
je 0x1006277b
mov ebx, dword [esp + 0x78]
mov edx, dword [ebx]
mov ecx, dword [ebx + 4]
mov ebp, dword [ebx + 0x168]
mov edi, dword [ebx + 0x16c]
mov dword [ebx + 0x18], edx
mov dword [ebx + 0x1c], ecx
mov dword [ebx + 0x10], edx
mov dword [ebx + 0x14], ecx
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], ecx
mov dword [ebx + 0x180], ebp
mov dword [ebx + 0x184], edi
mov dword [ebx + 0x178], ebp
mov dword [ebx + 0x17c], edi
mov dword [ebx + 0x170], ebp
mov dword [ebx + 0x174], edi
mov edx, dword [esi + 0x98]
mov ecx, dword [esi + 0x9c]
mov dword [esi + 0xb0], edx
mov dword [esi + 0xb4], ecx
mov dword [esi + 0xa8], edx
mov dword [esi + 0xac], ecx
mov dword [esi + 0xa0], edx
mov edx, dword [esi + 0xb8]
mov dword [esi + 0xa4], ecx
mov ecx, dword [esi + 0xbc]
mov dword [esi + 0xd0], edx
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xc8], edx
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc0], edx
mov edx, dword [esp + 0x7c]
mov dword [esi + 0xc4], ecx
mov edx, dword [edx + 0xec]
jmp 0x1006278f
add ecx, 1
mov dword [esp + 4], ecx
cmp ecx, 4
jl 0x100625cd
mov ebx, dword [esp + 0x78]
cmp edx, 2
je 0x10062dd1
mov dword [0x102dcee8], 0x10058ce4
lea edx, [esp + 4]
push esi
push edx
xor ecx, ecx
push 0xff
push ecx
push ecx
call dword [0x102dcee8]
add esp, 0x14
mov edx, dword [esi + 0x6c]
mov ecx, edx
add ecx, 2
je 0x100627cb
mov ecx, 1
jmp 0x100627cd
xor ecx, ecx
mov eax, dword [esi + 0x24]
mov edi, dword [eax]
lea ebp, [ecx + ecx]
add ebp, ebp
add ebp, ecx
add ebp, ebp
imul ebp, dword [ebx + 0xf0]
cmp edi, ebp
jge 0x10062b0c
test edx, edx
je 0x10062805
mov dword [ebx + 0xec], 4
mov edx, dword [esi + 0x24]
mov eax, dword [edx]
add esp, 0x28
pop ebx
pop ebp
pop esi
pop edi
ret
mov edi, dword [esi + 0x64]
mov edx, dword [esi + 0x58]
mov eax, dword [esi + 0x9c]
add edi, 1
shr edx, 1
mov dword [esp + 8], edx
cdq
idiv edi
mov ecx, eax
mov eax, dword [esi + 0x98]
cdq
idiv edi
mov ebx, eax
mov eax, dword [esi + 0xbc]
cdq
idiv edi
mov ebp, eax
mov eax, dword [esi + 0xb8]
cdq
idiv edi
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0xa4]
cdq
idiv edi
add ecx, eax
mov eax, dword [esi + 0xa0]
cdq
idiv edi
add ebx, eax
mov eax, dword [esi + 0xc4]
cdq
idiv edi
add ebp, eax
mov eax, dword [esi + 0xc0]
cdq
idiv edi
add dword [esp + 0x1c], eax
mov eax, dword [esi + 0xac]
cdq
idiv edi
add ecx, eax
mov eax, dword [esi + 0xa8]
cdq
idiv edi
add ebx, eax
mov eax, dword [esi + 0xcc]
cdq
idiv edi
add ebp, eax
mov eax, dword [esi + 0xc8]
cdq
idiv edi
add dword [esp + 0x1c], eax
mov eax, dword [esi + 0xb4]
cdq
idiv edi
add ecx, eax
mov eax, dword [esi + 0xb0]
cdq
idiv edi
add ebx, eax
mov eax, dword [esi + 0xd4]
cdq
idiv edi
add ebp, eax
mov eax, dword [esi + 0xd0]
cdq
idiv edi
mov edx, ebx
sar edx, 3
mov esi, dword [esp + 0x1c]
add esi, eax
mov eax, ecx
sar eax, 3
and ecx, 0xf
add eax, dword [ecx*4 + 0x1008b9e0]
and ebx, 0xf
mov edi, ebp
sar edi, 3
add edx, dword [ebx*4 + 0x1008b9e0]
mov ebx, dword [esp + 0xc]
and ebp, 0xf
mov ecx, ebx
add edi, dword [ebp*4 + 0x1008b9e0]
mov ebp, esi
sar ebp, 3
and esi, 0xf
add edx, 0x80000000
adc edx, 0x80000000
add eax, 0x80000000
adc eax, 0x80000000
sar edx, 1
add ebp, dword [esi*4 + 0x1008b9e0]
mov esi, dword [esp + 8]
imul ecx, esi
sar eax, 1
add eax, ebx
imul eax, esi
add ebp, 0x80000000
adc ebp, 0x80000000
mov dword [esp + 0x1c], ecx
add edi, 0x80000000
adc edi, 0x80000000
mov dword [esp + 0x24], edx
sar ebp, 1
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], ebp
sar edi, 1
add ebx, edi
imul ebx, esi
mov esi, dword [esp + 0x5c]
mov edi, dword [esi + 4]
mov esi, dword [esp + 0x10]
mov dword [esp + 0xc], ebx
add edi, esi
add edi, ecx
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 4]
add ecx, esi
add ecx, edx
add ecx, eax
mov eax, dword [esp + 0x4c]
mov edx, dword [eax + 4]
mov eax, dword [esp + 8]
push eax
add edx, esi
add edx, ebp
add edx, ebx
push edx
push ecx
push edi
mov ebx, dword [esp + 0x88]
mov esi, dword [esp + 0x94]
call dword [0x1031e414]
mov ebp, eax
add esp, 0x10
mov edx, dword [ebx + 0xf0]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
cmp ebp, ecx
jl 0x100629db
mov edx, dword [ebx + 0xec]
jmp 0x10062afe
mov edx, dword [esp + 0x5c]
mov edi, dword [esp + 0x10]
mov eax, dword [edx + 8]
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 8]
add eax, edi
add eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x4c]
mov edx, dword [edx + 8]
add ecx, edi
add ecx, dword [esp + 0x24]
add edx, edi
mov edi, dword [esp + 8]
add ecx, dword [esp + 0x20]
add edx, dword [esp + 0x18]
add edx, dword [esp + 0xc]
push edi
push edx
push ecx
push eax
call dword [0x1031e414]
add esp, 0x10
mov edx, dword [ebx + 0xf0]
add ebp, eax
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
cmp ebp, ecx
jge 0x10062af8
mov ecx, dword [ebx]
mov ebp, dword [ebx + 4]
mov edi, dword [ebx + 0x168]
mov edx, 4
mov dword [ebx + 0x12c], ecx
mov ecx, dword [ebx + 0x16c]
mov dword [ebx + 0xec], 4
mov dword [ebx + 0x130], ebp
mov dword [ebx + 0x188], edi
mov dword [ebx + 0x18c], ecx
mov ecx, dword [ebx + 8]
mov dword [ebx + 0x134], ecx
mov ecx, dword [ebx + 0xc]
mov dword [ebx + 0x138], ecx
mov ecx, dword [ebx + 0x170]
mov dword [ebx + 0x190], ecx
mov ecx, dword [ebx + 0x174]
mov dword [ebx + 0x194], ecx
mov ecx, dword [ebx + 0x10]
mov dword [ebx + 0x13c], ecx
mov ecx, dword [ebx + 0x14]
mov dword [ebx + 0x140], ecx
mov ecx, dword [ebx + 0x178]
mov dword [ebx + 0x198], ecx
mov ecx, dword [ebx + 0x17c]
mov dword [ebx + 0x19c], ecx
mov ecx, dword [ebx + 0x18]
mov dword [ebx + 0x144], ecx
mov ecx, dword [ebx + 0x1c]
mov dword [ebx + 0x148], ecx
mov ecx, dword [ebx + 0x180]
mov dword [ebx + 0x1a0], ecx
mov ecx, dword [ebx + 0x184]
mov dword [ebx + 0x1a4], ecx
jmp 0x10062afe
mov edx, dword [ebx + 0xec]
cmp edx, 4
je 0x10062e12
mov eax, dword [esi + 0x24]
mov edi, dword [eax]
add edi, dword [esi + 0x50]
mov edx, dword [esp + 0x68]
test edx, 0x800000
mov dword [eax], edi
mov ebp, dword [esi + 0x24]
mov ebp, dword [ebp]
je 0x10062b2a
mov ecx, 0x1005a3ac
jmp 0x10062b42
mov edx, dword [esp + 0x68]
test edx, 0x8000
je 0x10062b3d
mov ecx, 0x1005a038
jmp 0x10062b42
mov ecx, 0x1005a4d8
push 0xff
push esi
xor edx, edx
push edx
push edx
call ecx
add esp, 0x10
mov eax, esi
call fcn.1005c7d0
mov edi, dword [esp + 0x80]
mov edx, dword [esi + 0x24]
mov ecx, dword [edx]
mov dword [edi], ecx
mov edx, dword [esi + 0x64]
test edx, edx
je 0x10062b79
mov dword [ebx + 0xec], 0
jmp 0x10062b92
mov edx, dword [esp + 0x7c]
mov ecx, dword [edx + 0xec]
cmp ecx, 2
je 0x10062b6d
mov dword [ebx + 0xec], 5
mov ecx, dword [esi + 0x1c]
mov edx, dword [ecx]
mov dword [ebx + 0x124], edx
mov edi, dword [ecx + 4]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 4], 0
mov dword [ebx + 0x128], edi
xor edx, edx
jmp 0x10062bba
mov dword [esp + 4], edx
mov eax, dword [esi + 0x1c]
mov edi, dword [esi + edx*8 + 0x98]
add edi, dword [eax]
mov dword [ebx + edx*8], edi
mov edx, dword [esp + 4]
mov edi, dword [esi + 0x1c]
mov edi, dword [edi]
test edi, edi
jne 0x10062be6
mov edi, dword [esi + edx*8 + 0xb8]
mov dword [ebx + edx*8 + 0x168], edi
jmp 0x10062bf9
mov eax, dword [esi + 0xd8]
mov edi, dword [ebx + edx*8]
sub edi, dword [eax + edx*8]
mov dword [ebx + edx*8 + 0x168], edi
mov edx, dword [esp + 4]
mov eax, dword [esi + 0x1c]
mov edi, dword [esi + edx*8 + 0x9c]
add edi, dword [eax + 4]
mov dword [ebx + edx*8 + 4], edi
mov edx, dword [esp + 4]
mov edi, dword [esi + 0x1c]
mov edi, dword [edi + 4]
test edi, edi
jne 0x10062c2c
mov edi, dword [esi + edx*8 + 0xbc]
mov dword [ebx + edx*8 + 0x16c], edi
jmp 0x10062c41
mov eax, dword [esi + 0xd8]
mov edi, dword [ebx + edx*8 + 4]
sub edi, dword [eax + edx*8 + 4]
mov dword [ebx + edx*8 + 0x16c], edi
mov edx, dword [esi + 0x64]
test edx, edx
je 0x10062cff
mov edx, dword [esp + 4]
mov edi, dword [ebx + edx*8]
mov dword [ebx + edx*8 + 0x12c], edi
mov edx, dword [esp + 4]
mov edi, dword [ebx + edx*8]
add edi, 0x80000000
adc edi, 0x80000000
sar edi, 1
mov dword [ebx + edx*8], edi
mov edx, dword [esp + 4]
mov edi, dword [ebx + edx*8 + 0x168]
mov dword [ebx + edx*8 + 0x188], edi
mov edx, dword [esp + 4]
mov edi, dword [ebx + edx*8 + 0x168]
add edi, 0x80000000
adc edi, 0x80000000
sar edi, 1
mov dword [ebx + edx*8 + 0x168], edi
mov edx, dword [esp + 4]
mov edi, dword [ebx + edx*8 + 4]
mov dword [ebx + edx*8 + 0x130], edi
mov edx, dword [esp + 4]
mov edi, dword [ebx + edx*8 + 4]
add edi, 0x80000000
adc edi, 0x80000000
sar edi, 1
mov dword [ebx + edx*8 + 4], edi
mov edx, dword [esp + 4]
mov edi, dword [ebx + edx*8 + 0x16c]
mov dword [ebx + edx*8 + 0x18c], edi
mov edx, dword [esp + 4]
mov edi, dword [ebx + edx*8 + 0x16c]
add edi, 0x80000000
adc edi, 0x80000000
sar edi, 1
mov dword [ebx + edx*8 + 0x16c], edi
mov edx, dword [ecx + 0xec]
cmp edx, 2
je 0x10062db7
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov ecx, dword [ebx + 0x168]
mov esi, dword [ebx + 0x16c]
mov edi, dword [ebx + 0x12c]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x18], eax
mov eax, dword [ebx + 0x130]
mov dword [ebx + 0x1c], edx
mov edx, dword [ebx + 0x18c]
mov dword [ebx + 0x170], ecx
mov dword [ebx + 0x174], esi
mov dword [ebx + 0x178], ecx
mov dword [ebx + 0x17c], esi
mov dword [ebx + 0x180], ecx
mov dword [ebx + 0x184], esi
mov dword [ebx + 0x134], edi
mov dword [ebx + 0x138], eax
mov dword [ebx + 0x13c], edi
mov dword [ebx + 0x140], eax
mov dword [ebx + 0x144], edi
mov dword [ebx + 0x148], eax
mov eax, dword [ebx + 0x188]
mov dword [ebx + 0x190], eax
mov dword [ebx + 0x194], edx
mov dword [ebx + 0x198], eax
mov dword [ebx + 0x19c], edx
mov dword [ebx + 0x1a0], eax
mov dword [ebx + 0x1a4], edx
jmp 0x10062dc7
mov edx, dword [esp + 4]
add edx, 1
cmp edx, 4
jl 0x10062bb6
mov eax, ebp
add esp, 0x28
pop ebx
pop ebp
pop esi
pop edi
ret
mov dword [0x102dcee8], 0x10057980
jmp 0x100627a2
mov ebx, dword [esp + 0x78]
mov edx, dword [esp + 0x80]
mov dword [edx], 0x100000
xor ecx, ecx
mov eax, 0x100000
mov dword [ebx + 0xec], ecx
mov dword [ebx + 0x16c], ecx
mov dword [ebx + 0x168], ecx
add esp, 0x28
pop ebx
pop ebp
pop esi
pop edi
ret
mov edx, dword [esi + 0x24]
mov eax, dword [edx]
add esp, 0x28
pop ebx
pop ebp
pop esi
pop edi
ret