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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xbc
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 0xdc]
mov dword [esp + 0x38], edx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x34], ecx
mov ebx, dword [esp + 0xe4]
mov dword [esp + 0x30], ebx
mov eax, dword [esp + 0xe8]
mov edx, dword [esp + 0xec]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
mov eax, ecx
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ebx
test ebx, ebx
js 0x4932d4
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
mov edi, eax
mov ebp, ebx
test ebx, ebx
js 0x4932c8
push dword [esp + 0x5c]
push dword [esp + 0x5c]
push ebp
push edi
call fcn.00493890
add esp, 0x10
mov ebx, eax
mov esi, edx
or edx, ebx
jne 0x4930a0
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], ebx
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], ebx
mov ecx, dword [esp + 0x54]
cmp dword [esp + 0x94], ecx
jg 0x492d68
jge 0x49310c
mov eax, dword [esp + 0x54]
cmp dword [esp + 0x9c], eax
jle 0x4930e0
mov eax, dword [esp + 0x9c]
or eax, dword [esp + 0x98]
je 0x493396
push dword [esp + 0x9c]
push dword [esp + 0x9c]
push dword [esp + 0x9c]
push dword [esp + 0x9c]
call fcn.00494a30
add esp, 0x10
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x44], ecx
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0x40], ebx
cmp dword [esp + 0x54], edx
jl 0x4932f4
jg 0x492ddc
cmp dword [esp + 0x50], eax
jb 0x4932f4
cmp dword [esp + 0x54], 0
jl 0x4932f4
jle 0x4932e8
mov ecx, dword [esp + 0x44]
imul ecx, edx
mov ebx, dword [esp + 0x40]
imul ebx, eax
add ecx, ebx
mul dword [esp + 0x44]
lea edx, [ecx + edx]
mov ebx, dword [esp + 0x90]
mov esi, dword [esp + 0x94]
sub ebx, eax
sbb esi, edx
mov edi, 1
mov dword [esp + 0x88], 0
mov dword [esp + 0xa8], 1
lea esi, [esi]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x8c], eax
mov dword [esp + 0xac], edi
mov edx, esi
or edx, ebx
je 0x49323c
push esi
push ebx
push dword [esp + 0xa4]
push dword [esp + 0xa4]
call fcn.00494a30
add esp, 0x10
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], esi
mov eax, dword [esp + 0x8c]
cdq
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
mov ecx, dword [esp + 0x64]
imul ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
imul eax, dword [esp + 0x60]
add ecx, eax
mov eax, dword [esp + 0x60]
mul dword [esp + 0x4c]
mov edi, eax
lea ebp, [ecx + edx]
mov eax, dword [esp + 0xa8]
cdq
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
add dword [esp + 0x78], edi
adc dword [esp + 0x7c], ebp
mov eax, dword [esp + 0xac]
cdq
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
mov eax, dword [esp + 0x88]
cdq
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x7c]
cmp dword [esp + 0x54], edx
jge 0x493130
mov ecx, dword [esp + 0x8c]
test ecx, ecx
jne 0x493248
mov ebx, dword [esp + 0x88]
mov dword [esp + 0x84], ebx
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
mov ebp, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], 0
mov edx, dword [esp + 0xac]
test edx, edx
je 0x492f87
mov eax, dword [esp + 0x84]
cdq
sub dword [esp + 0x50], eax
sbb dword [esp + 0x54], edx
mov eax, dword [esp + 0xac]
cdq
push edx
push eax
push dword [esp + 0x5c]
push dword [esp + 0x5c]
call fcn.00494a30
add esp, 0x10
cmp dword [esp + 0x48], edx
jae 0x493364
mov ecx, dword [esp + 0x48]
imul ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
imul edx, dword [esp + 0x4c]
add ecx, edx
mov eax, dword [esp + 0x4c]
mul dword [esp + 0x68]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edx
add edx, ecx
mov dword [esp + 0xa4], edx
mov esi, dword [esp + 0xa0]
mov edi, dword [esp + 0xa4]
add esi, esi
adc edi, edi
add esi, dword [esp + 0x70]
adc edi, dword [esp + 0x74]
mov ecx, dword [esp + 0x44]
imul ecx, edi
mov edx, dword [esp + 0x40]
imul edx, esi
add ecx, edx
mov eax, dword [esp + 0x44]
mul esi
mov esi, eax
lea edi, [ecx + edx]
mov eax, dword [esp + 0xac]
cdq
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x90]
imul ecx, edx
mov ebx, dword [esp + 0x94]
imul ebx, eax
add ecx, ebx
mov eax, dword [esp + 0x10]
mul dword [esp + 0x90]
mov dword [esp + 8], eax
add edx, ecx
mov dword [esp + 0xc], edx
cmp edi, edx
ja 0x49320e
jae 0x493204
mov edx, dword [esp + 0xb0]
mov dword [esp + 0xac], edx
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x8c], ecx
xor edx, edx
shr dword [esp + 0x38], 0x1f
shr dword [esp + 0x30], 0x1f
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x38], ecx
je 0x493071
neg dword [esp + 0x8c]
mov eax, dword [esp + 0xd0]
mov ebx, dword [esp + 0x8c]
mov dword [eax], ebx
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xac]
mov dword [eax], ecx
mov eax, edx
add esp, 0xbc
pop ebx
pop esi
pop edi
pop ebp
ret
push esi
push ebx
push ebp
push edi
call fcn.00494a30
add esp, 0x10
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
push esi
push ebx
push dword [esp + 0x64]
push dword [esp + 0x64]
call fcn.00494a30
add esp, 0x10
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], edx
jmp 0x492d44
jge 0x493380
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x8c], ecx
mov ebx, dword [esp + 0x98]
mov dword [esp + 0xac], ebx
mov edx, 1
jmp 0x493056
mov ebx, dword [esp + 0x50]
cmp dword [esp + 0x90], ebx
ja 0x492d68
mov eax, dword [esp + 0x54]
cmp dword [esp + 0x9c], eax
jg 0x492d68
jmp 0x4930e0
jg 0x493140
mov ecx, dword [esp + 0x78]
cmp dword [esp + 0x50], ecx
jb 0x492eef
mov edi, dword [esp + 0x6c]
imul edi, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
imul edx, dword [esp + 0x68]
add edi, edx
mov eax, dword [esp + 0x68]
mul dword [esp + 0x4c]
mov dword [esp + 0x20], eax
add edx, edi
mov dword [esp + 0x24], edx
mov edi, dword [esp + 0x70]
mov ebp, dword [esp + 0x74]
add edi, dword [esp + 0x20]
adc ebp, dword [esp + 0x24]
cmp dword [esp + 0x54], ebp
jl 0x492eef
jg 0x49318c
cmp dword [esp + 0x50], edi
jb 0x492eef
mov edx, dword [esp + 0x48]
imul edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
imul ecx, dword [esp + 0x4c]
add edx, ecx
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x4c]
mul dword [esp + 0x44]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x28]
add edx, ecx
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
sub eax, dword [esp + 0x18]
sbb edx, dword [esp + 0x1c]
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], esi
mov ebx, eax
mov esi, edx
mov edx, dword [esp + 0xac]
mov dword [esp + 0x88], edx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0xa8], ecx
jmp 0x492e34
cmp esi, dword [esp + 8]
jbe 0x493038
mov eax, dword [esp + 0x4c]
mul dword [esp + 0x60]
add ebp, eax
mov dword [esp + 0x8c], ebp
mov edx, dword [esp + 0x84]
add edx, dword [esp + 0xa0]
mov dword [esp + 0xac], edx
xor edx, edx
jmp 0x493056
mov edx, 1
jmp 0x493056
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x84], ecx
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
mov ebp, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
mov dword [esp + 0xb0], edx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0xb4], ecx
mov eax, ebp
cdq
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x54]
sub ecx, ebp
sbb ebx, edx
mov eax, dword [esp + 0x8c]
cdq
push edx
push eax
push ebx
push ecx
call fcn.00494a30
add esp, 0x10
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], edx
jmp 0x492f48
neg edi
adc ebp, 0
neg ebp
jmp 0x492cfa
neg dword [esp + 0x58]
adc dword [esp + 0x5c], 0
neg dword [esp + 0x5c]
jmp 0x492ce6
cmp dword [esp + 0x50], 0
ja 0x492ded
nop
mov dword [esp + 0x84], 1
mov dword [esp + 0x60], 1
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 1
mov dword [esp + 0x74], 0
xor ebp, ebp
mov dword [esp + 0xac], 0
mov dword [esp + 0x8c], 1
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 1
jmp 0x493295
ja 0x493370
cmp dword [esp + 0x4c], eax
jbe 0x492f87
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], edx
jmp 0x492f87
mov edx, dword [esp + 0x50]
cmp dword [esp + 0x98], edx
ja 0x492d68
jmp 0x4930e6
mov dword [esp + 0xac], 0
mov dword [esp + 0x8c], 1
mov edx, 1
jmp 0x493056