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

Disassembly:
push ebp
push ebx
push edi
mov edx, 0x16
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x5552c8
call fcn.00417e10
mov edx, dword [esp + 0x6c]
lea ecx, [esp]
call fcn.004011b0
mov edx, dword [esp + 0x74]
lea ecx, [esp + 4]
call fcn.004011b0
mov edx, dword [esp + 0x78]
lea ecx, [esp + 8]
call fcn.004011b0
mov edx, dword [esp + 0x7c]
lea ecx, [esp + 0xc]
call fcn.004011b0
mov edx, dword [esp + 0x80]
lea ecx, [esp + 0x10]
call fcn.004011b0
push dword [0x4e8d7c]
call dword [0x51ed78]
push dword [esp + 0x68]
call fcn.004074e6
push eax
call fcn.00413801
and eax, eax
je 0x555ded
push dword [esp + 0x68]
call fcn.0040adbe
mov dword [esp + 0x14], eax
call fcn.00413714
mov dword [esp + 0x20], eax
call fcn.00413701
mov dword [esp + 0x24], eax
mov ebp, dword [esp + 0x14]
push dword [ebp + 0xc]
call fcn.004179f5
push eax
call fcn.004135e6
mov ebp, dword [esp + 0x14]
push dword [ebp + 0x20]
push dword [esp + 0x28]
push dword [esp + 0x28]
push 0
push 0
call fcn.00413470
mov eax, str.00:00
push eax
call fcn.004138c5
fadd qword [0x4da2a0]
fistp dword [esp + 0x28]
mov eax, str.00:00
push eax
call fcn.004138ae
fadd qword [0x4da2a0]
fistp dword [esp + 0x30]
mov ebp, dword [esp + 0x14]
cmp dword [ebp + 0x30], 0
je 0x5553d0
mov ebp, dword [esp + 0x14]
mov eax, dword [ebp + 0x30]
mov dword [esp + 0x34], eax
jmp 0x5553f6
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x28]
mov dword [esp - 4], edi
fild dword [esp - 4]
fmul qword [0x4da2b8]
mov dword [esp - 4], ebx
fild dword [esp - 4]
fxch st(1)
fdivp st(1)
fistp dword [esp + 0x34]
cmp dword [esp + 0x34], 0
je 0x555577
mov dword [esp + 0x3c], 0
jmp 0x55540b
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 0x3c]
jl 0x555577
mov ebx, dword [esp + 0x20]
dec ebx
imul ebx, dword [esp + 0x3c]
push dword [esp + 0x34]
mov eax, ebx
pop ecx
cdq
idiv ecx
mov ebx, eax
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x3c]
and ebx, ebx
jle 0x55544c
mov ebx, dword [esp + 0x3c]
cmp ebx, dword [esp + 0x34]
jge 0x55544c
mov eax, 1
jmp 0x55544e
xor eax, eax
and eax, eax
je 0x555472
mov ebp, dword [esp + 0x14]
push dword [ebp + 0x28]
push dword [esp + 0x28]
push 1
push 0
push dword [esp + 0x28]
call fcn.0041362d
jmp 0x555490
mov ebp, dword [esp + 0x14]
push dword [ebp + 0x24]
push dword [esp + 0x28]
push 1
push 0
push dword [esp + 0x28]
call fcn.0041362d
mov ebx, dword [esp + 0x3c]
and ebx, ebx
jle 0x5554a9
mov ebx, dword [esp + 0x3c]
cmp ebx, dword [esp + 0x34]
jge 0x5554a9
mov eax, 1
jmp 0x5554ab
xor eax, eax
and eax, eax
je 0x55556d
mov ebp, dword [esp + 0x14]
push dword [ebp + 0x10]
call fcn.00414392
mov ebx, eax
mov edi, dword [esp + 0x20]
sub edi, dword [esp + 0x18]
sub ebx, edi
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x40]
and ebx, ebx
jl 0x55556d
push dword [esp + 0x40]
mov ebp, dword [esp + 0x18]
push dword [ebp + 0x10]
call fcn.0041448b
and eax, eax
je 0x55556d
mov ebp, dword [esp + 0x14]
mov ebx, dword [ebp + 0x3c]
and ebx, ebx
jne 0x55556d
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417fa0
pop edx
push eax
mov ebp, dword [esp + 0x1c]
mov ebp, dword [ebp + 0x14]
lea eax, [ebp + 8]
push dword [eax + 4]
push dword [eax]
mov eax, str._hh:_ii
push eax
call fcn.00412e9c
lea eax, [esp + 0x58]
push eax
call fcn.00417d00
mov ebp, dword [esp + 0x14]
push dword [ebp + 0x24]
mov ebp, dword [esp + 0x18]
push dword [ebp + 0x20]
push dword [esp + 0x5c]
push dword [esp + 0x3c]
push dword [esp + 0x38]
mov ebx, dword [esp + 0x38]
sub ebx, dword [esp + 0x44]
push ebx
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0x40]
mov eax, edi
mov ecx, 2
cdq
idiv ecx
mov edi, eax
sub ebx, edi
push ebx
call fcn.00554f43
inc dword [esp + 0x3c]
jno 0x55540b
push dword [esp]
mov edx, 0x4d7c56
pop ecx
call fcn.00401230
je 0x55559d
mov ebp, dword [esp + 0x14]
mov ebx, dword [ebp + 0x18]
cmp ebx, 0xfa0
jle 0x55559d
mov eax, 1
jmp 0x55559f
xor eax, eax
and eax, eax
je 0x555607
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417fa0
pop edx
push eax
mov ebp, dword [esp + 0x20]
mov ebx, dword [ebp + 0x38]
push dword [esp + 0xc]
call fcn.004160f0
add ebx, eax
push ebx
mov ebp, dword [esp + 0x24]
fild dword [ebp + 0x18]
fdiv qword [0x4da2c0]
sub esp, 8
fstp qword [esp]
call fcn.00416cc0
call fcn.004011f2
add dword [esp], edx
call fcn.004138c5
call fcn.00401220
fadd qword [0x4da2a0]
fistp dword [esp + 0x28]
jmp 0x5556c5
push dword [esp]
mov edx, 0x4d33cc
pop ecx
call fcn.00401230
je 0x55566c
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417fa0
pop edx
push eax
mov ebp, dword [esp + 0x20]
mov ebx, dword [ebp + 0x38]
push dword [esp + 0xc]
call fcn.004160f0
add ebx, eax
push ebx
mov ebp, dword [esp + 0x24]
fild dword [ebp + 0x18]
sub esp, 8
fstp qword [esp]
call fcn.00416cc0
call fcn.004011f2
add dword [esp], edx
call fcn.004138c5
call fcn.00401220
fistp dword [esp + 0x28]
jmp 0x5556c5
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417fa0
pop edx
push eax
mov ebp, dword [esp + 0x20]
mov ebx, dword [ebp + 0x38]
push dword [esp + 0xc]
call fcn.004160f0
add ebx, eax
push ebx
mov ebp, dword [esp + 0x24]
fild dword [ebp + 0x18]
sub esp, 8
fstp qword [esp]
call fcn.00416cc0
call fcn.004011f2
add dword [esp], edx
call fcn.004138c5
call fcn.00401220
fadd qword [0x4da2a0]
fistp dword [esp + 0x28]
mov ebp, dword [esp + 0x14]
cmp dword [ebp + 0x34], 0
je 0x5556dc
mov ebp, dword [esp + 0x14]
mov eax, dword [ebp + 0x34]
mov dword [esp + 0x38], eax
jmp 0x5556f3
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x30]
add edi, edi
push edi
mov eax, ebx
pop ecx
cdq
idiv ecx
mov ebx, eax
mov dword [esp + 0x38], ebx
cmp dword [esp + 0x38], 0
je 0x555991
mov dword [esp + 0x3c], 0
jmp 0x555708
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x3c]
jl 0x555991
mov ebx, dword [esp + 0x24]
dec ebx
imul ebx, dword [esp + 0x3c]
push dword [esp + 0x38]
mov eax, ebx
pop ecx
cdq
idiv ecx
mov ebx, eax
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x3c]
and ebx, ebx
jle 0x555749
mov ebx, dword [esp + 0x3c]
cmp ebx, dword [esp + 0x38]
jge 0x555749
mov eax, 1
jmp 0x55574b
xor eax, eax
and eax, eax
je 0x555773
mov ebp, dword [esp + 0x14]
push dword [ebp + 0x28]
push 1
mov ebx, dword [esp + 0x28]
add ebx, 0xfffffffe
push ebx
push dword [esp + 0x28]
push 1
call fcn.0041362d
jmp 0x555791
mov ebp, dword [esp + 0x14]
push dword [ebp + 0x24]
push 1
push dword [esp + 0x28]
push dword [esp + 0x28]
push 0
call fcn.0041362d
mov ebx, dword [esp + 0x3c]
cmp ebx, dword [esp + 0x38]
jge 0x555987
mov ebp, dword [esp + 0x14]
fild dword [ebp + 0x18]
fild dword [esp + 0x38]
fisub dword [esp + 0x3c]
fadd dword [0x4da184]
fmulp st(1)
fidiv dword [esp + 0x38]
fstp dword [esp + 0x50]
mov ebp, dword [esp + 0x14]
mov ebx, dword [ebp + 0x40]
and ebx, ebx
jne 0x555987
push dword [esp]
mov edx, 0x4d7c56
pop ecx
call fcn.00401230
je 0x5557f3
mov ebp, dword [esp + 0x14]
mov ebx, dword [ebp + 0x18]
cmp ebx, 0xfa0
jle 0x5557f3
mov eax, 1
jmp 0x5557f5
xor eax, eax
and eax, eax
je 0x555874
push edx
call fcn.00417fa0
pop edx
push eax
mov ebp, dword [esp + 0x18]
push dword [ebp + 0x20]
mov ebp, dword [esp + 0x1c]
push dword [ebp + 0x24]
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417fa0
pop edx
push eax
mov ebp, dword [esp + 0x28]
push dword [ebp + 0x38]
fld dword [esp + 0x68]
fdiv qword [0x4da2c0]
sub esp, 8
fstp qword [esp]
call fcn.00416cc0
mov edx, 0x4d8a36
push edx
call fcn.00417eb0
call fcn.00417fd0
push dword [esp + 0x40]
push dword [esp + 0x3c]
push dword [esp + 0x34]
push 0
call fcn.004011f2
add dword [esp + 0x10], edx
call fcn.00554f43
call fcn.00401220
jmp 0x555987
push dword [esp]
mov edx, 0x4d33cc
pop ecx
call fcn.00401230
je 0x555918
mov ebx, dword [esp + 0x3c]
and ebx, ebx
jle 0x555916
push edx
call fcn.00417fa0
pop edx
push eax
mov ebp, dword [esp + 0x18]
push dword [ebp + 0x24]
mov ebp, dword [esp + 0x1c]
push dword [ebp + 0x20]
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417fa0
pop edx
push eax
mov ebp, dword [esp + 0x28]
push dword [ebp + 0x38]
fld dword [esp + 0x68]
sub esp, 8
fstp qword [esp]
call fcn.00416cc0
mov edx, dword [esp + 0x10]
push edx
call fcn.00417eb0
call fcn.00417fd0
push dword [esp + 0x40]
push dword [esp + 0x3c]
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x48]
mov eax, edi
mov ecx, 2
cdq
idiv ecx
mov edi, eax
sub ebx, edi
push ebx
push 1
call fcn.004011f2
add dword [esp + 0x10], edx
call fcn.00554f43
call fcn.00401220
jmp 0x555987
push edx
call fcn.00417fa0
pop edx
push eax
mov ebp, dword [esp + 0x18]
push dword [ebp + 0x20]
mov ebp, dword [esp + 0x1c]
push dword [ebp + 0x24]
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417fa0
pop edx
push eax
mov ebp, dword [esp + 0x28]
push dword [ebp + 0x38]
fld dword [esp + 0x68]
sub esp, 8
fstp qword [esp]
call fcn.00416cc0
mov edx, dword [esp + 0x10]
push edx
call fcn.00417eb0
call fcn.00417fd0
push dword [esp + 0x40]
push dword [esp + 0x3c]
push dword [esp + 0x34]
push 0
call fcn.004011f2
add dword [esp + 0x10], edx
call fcn.00554f43
call fcn.00401220
inc dword [esp + 0x3c]
jno 0x555708
push dword [esp + 4]
mov edx, 0x4d302e
pop ecx
call fcn.00401230
jne 0x5559fa
push dword [esp + 4]
call fcn.004138c5
fadd qword [0x4da2a0]
fistp dword [esp + 0x2c]
push 0x606060
mov ebp, dword [esp + 0x18]
push dword [ebp + 0x20]
push dword [esp + 0xc]
push dword [esp + 0x3c]
push dword [esp + 0x3c]
push 1
mov ebx, dword [esp + 0x38]
mov eax, ebx
mov ecx, 2
cdq
idiv ecx
mov ebx, eax
mov edi, dword [esp + 0x44]
mov eax, edi
mov ecx, 2
cdq
idiv ecx
mov edi, eax
sub ebx, edi
push ebx
call fcn.00554f43
push dword [esp + 0xc]
mov edx, 0x4d302e
pop ecx
call fcn.00401230
jne 0x555b3c
push dword [esp + 0xc]
call fcn.004138c5
fadd qword [0x4da290]
fistp dword [esp + 0x2c]
push 0x606060
mov ebp, dword [esp + 0x18]
push dword [ebp + 0x20]
push dword [esp + 0x14]
push dword [esp + 0x3c]
push dword [esp + 0x3c]
push dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
mov eax, ebx
mov ecx, 2
cdq
idiv ecx
mov ebx, eax
mov edi, dword [esp + 0x44]
mov eax, edi
mov ecx, 2
cdq
idiv ecx
mov edi, eax
sub ebx, edi
push ebx
call fcn.00554f43
push dword [esp + 8]
mov edx, 0x4d302e
pop ecx
call fcn.00401230
jne 0x555b37
push edx
call fcn.00417fa0
pop edx
push eax
mov edx, dword [esp + 0xc]
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417eb0
mov edx, dword [esp + 8]
push edx
call fcn.00417eb0
call fcn.004011f2
add dword [esp], edx
call fcn.004138c5
call fcn.00401220
fadd qword [0x4da290]
fistp dword [esp + 0x2c]
push edx
call fcn.00417fa0
pop edx
push eax
push 0x606060
mov ebp, dword [esp + 0x1c]
push dword [ebp + 0x20]
mov edx, dword [esp + 0x14]
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417eb0
mov edx, dword [esp + 0x10]
push edx
call fcn.00417eb0
call fcn.00417fd0
push dword [esp + 0x40]
push dword [esp + 0x40]
mov ebx, dword [esp + 0x48]
add ebx, dword [esp + 0x48]
push ebx
mov ebx, dword [esp + 0x3c]
mov eax, ebx
mov ecx, 2
cdq
idiv ecx
mov ebx, eax
mov edi, dword [esp + 0x48]
mov eax, edi
mov ecx, 2
cdq
idiv ecx
mov edi, eax
sub ebx, edi
push ebx
call fcn.004011f2
add dword [esp + 0x10], edx
call fcn.00554f43
call fcn.00401220
jmp 0x555bf3
push edx
call fcn.00417fa0
pop edx
push eax
mov edx, dword [esp + 0xc]
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417eb0
mov edx, dword [esp + 8]
push edx
call fcn.00417eb0
call fcn.004011f2
add dword [esp], edx
call fcn.004138c5
call fcn.00401220
fadd qword [0x4da290]
fistp dword [esp + 0x2c]
push edx
call fcn.00417fa0
pop edx
push eax
push 0x606060
mov ebp, dword [esp + 0x1c]
push dword [ebp + 0x20]
mov edx, dword [esp + 0x14]
push edx
call fcn.00417fa0
pop edx
push eax
push edx
call fcn.00417eb0
mov edx, dword [esp + 0x10]
push edx
call fcn.00417eb0
call fcn.00417fd0
push dword [esp + 0x40]
push dword [esp + 0x40]
push dword [esp + 0x48]
mov ebx, dword [esp + 0x3c]
mov eax, ebx
mov ecx, 2
cdq
idiv ecx
mov ebx, eax
mov edi, dword [esp + 0x48]
mov eax, edi
mov ecx, 2
cdq
idiv ecx
mov edi, eax
sub ebx, edi
push ebx
call fcn.004011f2
add dword [esp + 0x10], edx
call fcn.00554f43
call fcn.00401220
push dword [esp + 0x10]
mov edx, 0x4d302e
pop ecx
call fcn.00401230
jne 0x555c63
push dword [esp + 0x10]
call fcn.004138c5
fadd qword [0x4da2a0]
fistp dword [esp + 0x2c]
push 0x606060
mov ebp, dword [esp + 0x18]
push dword [ebp + 0x20]
push dword [esp + 0x18]
push dword [esp + 0x3c]
push dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
sub ebx, dword [esp + 0x44]
add ebx, 0xfffffffd
push ebx
mov ebx, dword [esp + 0x38]
mov eax, ebx
mov ecx, 2
cdq
idiv ecx
mov ebx, eax
mov edi, dword [esp + 0x44]
mov eax, edi
mov ecx, 2
cdq
idiv ecx
mov edi, eax
sub ebx, edi
push ebx
call fcn.00554f43
mov ebp, dword [esp + 0x14]
push dword [ebp + 0x10]
call fcn.0041433b
and eax, eax
je 0x555de8
push dword [esp + 0x70]
mov ebp, dword [esp + 0x18]
push dword [ebp + 0x2c]
call fcn.00413463
push eax
mov ebp, dword [esp + 0x1c]
push dword [ebp + 0x2c]
call fcn.00413614
push eax
mov ebp, dword [esp + 0x20]
push dword [ebp + 0x2c]
call fcn.00413758
push eax
call fcn.0041373c
mov dword [esp + 0x4c], eax
mov ebx, dword [esp + 0x20]
dec ebx
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x24]
dec ebx
mov ebp, dword [esp + 0x14]
mov ebp, dword [ebp + 0x14]
mov dword [esp - 4], ebx
fild dword [esp - 4]
fmul dword [ebp + 0x10]
mov ebp, dword [esp + 0x14]
fidiv dword [ebp + 0x18]
fistp dword [esp + 0x44]
mov ebx, dword [esp + 0x44]
and ebx, ebx
jle 0x555da4
mov ebx, dword [esp + 0x44]
cmp ebx, dword [esp + 0x24]
jl 0x555cf5
mov ebx, dword [esp + 0x24]
dec ebx
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x24]
sub ebx, dword [esp + 0x44]
mov dword [esp + 0x1c], ebx
push 0x10
call fcn.004135fd
push dword [esp + 0x4c]
push dword [esp + 0x48]
push 1
push dword [esp + 0x28]
push dword [esp + 0x28]
call fcn.0041362d
push 0
call fcn.004135fd
cmp dword [esp + 0x48], 0
je 0x555d3a
xor eax, eax
jmp 0x555d3f
mov eax, 1
and eax, eax
jne 0x555d4f
mov ebx, dword [esp + 0x48]
cmp ebx, dword [esp + 0x1c]
je 0x555d4f
jmp 0x555d56
mov eax, 1
jmp 0x555d58
xor eax, eax
and eax, eax
je 0x555d7c
mov ebp, dword [esp + 0x14]
push dword [ebp + 0x2c]
push 1
push 1
push dword [esp + 0x28]
push dword [esp + 0x28]
call fcn.0041362d
jmp 0x555d9a
mov ebp, dword [esp + 0x14]
push dword [ebp + 0x2c]
push dword [esp + 0x4c]
mov ebx, dword [esp + 0x20]
inc ebx
push ebx
push dword [esp + 0x28]
push dword [esp + 0x28]
call fcn.004136ac
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x48], eax
jmp 0x555dac
mov dword [esp + 0x48], 0
dec dword [esp + 0x18]
mov ebx, dword [esp + 0x18]
and ebx, ebx
je 0x555dd7
mov ebp, dword [esp + 0x14]
push dword [ebp + 0x10]
call fcn.0041444b
and eax, eax
je 0x555dcc
xor eax, eax
jmp 0x555dd1
mov eax, 1
and eax, eax
jne 0x555dd7
jmp 0x555dde
mov eax, 1
jmp 0x555de0
xor eax, eax
and eax, eax
je 0x555cb4
call fcn.00413866
push dword [0x4e8d7c]
call dword [0x51ed7c]
xor eax, eax
push dword [esp + 0x10]
call fcn.00417f00
push dword [esp]
call fcn.00417f00
push dword [esp + 0xc]
call fcn.00417f00
push dword [esp + 0x54]
call fcn.00417f00
push dword [esp + 8]
call fcn.00417f00
push dword [esp + 4]
call fcn.00417f00
add esp, 0x58
pop edi
pop ebx
pop ebp
ret 0x1c