Function at 0x52c7f0
Capabilities:
Print debug messages
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x60
push ebx
mov ebx, ecx
mov ecx, dword [esp + 0x68]
push ebp
mov eax, ecx
test eax, eax
push esi
mov dword [esp + 0x70], eax
fild dword [esp + 0x70]
push edi
mov dword [esp + 0x10], ebx
jge 0x52c815
fadd dword [0x562930]
fld qword [0x562ae8]
mov edx, dword [esp + 0x78]
fadd st(1), st(0)
mov eax, edx
test eax, eax
fxch st(1)
mov dword [esp + 0x74], eax
fstp dword [esp + 0x5c]
fild dword [esp + 0x74]
jge 0x52c83b
fadd dword [0x562930]
mov eax, dword [esp + 0x7c]
fadd st(1)
test eax, eax
fstp dword [esp + 0x60]
fild dword [esp + 0x7c]
jge 0x52c853
fadd dword [0x562930]
mov eax, dword [esp + 0x80]
fadd st(1)
test eax, eax
fstp dword [esp + 0x54]
fild dword [esp + 0x80]
jge 0x52c871
fadd dword [0x562930]
faddp st(1)
fstp dword [esp + 0x58]
fld dword [esp + 0x5c]
fld st(0)
fld dword [esp + 0x54]
fld st(0)
fsubp st(2)
fldz
fucomp st(2)
fnstsw ax
fld dword [esp + 0x60]
test ah, 0x44
fld dword [esp + 0x58]
fldz
jp 0x52c8b2
fstp st(4)
mov dword [esp + 0x6c], 1
fxch st(3)
fst dword [esp + 0x64]
fxch st(4)
fst dword [esp + 0x68]
jmp 0x52c8d8
fld st(2)
mov dword [esp + 0x6c], 0
fsub st(2)
fdivrp st(5)
fxch st(4)
fstp dword [esp + 0x64]
fld st(1)
fld dword [esp + 0x64]
fmul st(6)
fsubp st(1)
fstp dword [esp + 0x68]
fxch st(3)
fxch st(4)
fsubp st(2)
mov ebp, ecx
mov ecx, dword [ebx + 4]
fxch st(1)
mov dword [esp + 0x74], edx
fstp dword [esp + 0x1c]
mov dword [esp + 0x14], 0
mov dword [esp + 0x78], ecx
fsubp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fld dword [esp + 0x18]
fld1
jmp 0x52c90b
fxch st(3)
fxch st(1)
add dword [esp + 0x14], 1
xor edi, edi
xor esi, esi
cmp ebp, dword [esp + 0x78]
jae 0x52d25b
mov edx, dword [esp + 0x74]
cmp edx, dword [ebx + 8]
jae 0x52d25b
mov ebx, dword [esp + 0x78]
mov eax, dword [esp + 0x10]
imul ebx, edx
mov ecx, dword [eax + 0xc]
lea eax, [ebx + ebp]
imul eax, eax, 0x2c
add eax, ecx
je 0x52d25b
cmp byte [eax + 0x1c], 0
jne 0x52d232
cmp byte [eax + 0x1d], 0
jne 0x52d232
mov ecx, ebp
test ecx, ecx
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
jge 0x52c96f
fadd dword [0x562930]
fstp dword [esp + 0x20]
mov eax, edx
test eax, eax
fld dword [esp + 0x20]
mov dword [esp + 0x20], eax
fst dword [esp + 0x24]
fild dword [esp + 0x20]
jge 0x52c98f
fadd dword [0x562930]
cmp ebp, dword [esp + 0x7c]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x28]
fld st(1)
fadd st(3)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x2c]
fxch st(1)
fst dword [esp + 0x30]
fst dword [esp + 0x48]
fxch st(2)
fst dword [esp + 0x44]
fst dword [esp + 0x4c]
fld st(2)
faddp st(4)
fxch st(3)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x50]
fst dword [esp + 0x60]
fst dword [esp + 0x38]
fstp dword [esp + 0x40]
fst dword [esp + 0x54]
fst dword [esp + 0x5c]
fstp dword [esp + 0x3c]
fstp dword [esp + 0x58]
fstp dword [esp + 0x34]
jne 0x52ca04
cmp edx, dword [esp + 0x80]
je 0x52d246
fxch st(1)
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x52ca62
fld st(2)
fucomp st(2)
fnstsw ax
test ah, 0x44
jp 0x52ca62
mov ecx, dword [esp + 0x58]
fstp st(2)
mov edx, dword [esp + 0x54]
fstp st(0)
push ecx
fstp st(0)
push edx
lea ecx, [esp + 0x6c]
call fcn.0052ad20
mov ecx, dword [esp + 0x5c]
mov edx, eax
mov eax, dword [esp + 0x60]
push eax
push ecx
lea ecx, [esp + 0x6c]
call fcn.0052ad20
cmp edx, 2
je 0x52ca5a
cmp eax, 2
je 0x52ca5a
cmp edx, eax
je 0x52d26e
add ebp, 1
jmp 0x52d213
fcom st(2)
fnstsw ax
test ah, 5
jp 0x52cabe
fld st(2)
fucomp st(2)
fnstsw ax
test ah, 0x44
jp 0x52cabe
mov edx, dword [esp + 0x48]
fstp st(2)
mov eax, dword [esp + 0x44]
fstp st(0)
push edx
fstp st(0)
push eax
lea ecx, [esp + 0x6c]
call fcn.0052ad20
mov ecx, dword [esp + 0x50]
mov edx, eax
mov eax, dword [esp + 0x4c]
push ecx
push eax
lea ecx, [esp + 0x6c]
call fcn.0052ad20
cmp edx, 2
je 0x52cab6
cmp eax, 2
je 0x52cab6
cmp edx, eax
je 0x52d26e
sub ebp, 1
jmp 0x52d213
fld st(2)
fucomp st(1)
fnstsw ax
test ah, 0x44
jp 0x52cb77
fxch st(1)
fcom st(2)
fnstsw ax
test ah, 5
jp 0x52cb22
mov ecx, dword [esp + 0x28]
fstp st(2)
mov edx, dword [esp + 0x24]
fstp st(1)
push ecx
fstp st(0)
push edx
lea ecx, [esp + 0x6c]
call fcn.0052ad20
mov ecx, dword [esp + 0x2c]
mov edx, eax
mov eax, dword [esp + 0x30]
push eax
push ecx
lea ecx, [esp + 0x6c]
call fcn.0052ad20
cmp edx, 2
je 0x52cb18
cmp eax, 2
je 0x52cb18
cmp edx, eax
je 0x52d26e
sub dword [esp + 0x74], 1
jmp 0x52d213
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x52cb75
mov edx, dword [esp + 0x38]
fstp st(2)
mov eax, dword [esp + 0x34]
fstp st(1)
push edx
fstp st(0)
push eax
lea ecx, [esp + 0x6c]
call fcn.0052ad20
mov ecx, dword [esp + 0x40]
mov edx, eax
mov eax, dword [esp + 0x3c]
push ecx
push eax
lea ecx, [esp + 0x6c]
call fcn.0052ad20
cmp edx, 2
je 0x52cb6b
cmp eax, 2
je 0x52cb6b
cmp edx, eax
je 0x52d26e
add dword [esp + 0x74], 1
jmp 0x52d213
fxch st(1)
fcom st(2)
fnstsw ax
test ah, 5
jp 0x52cd1a
fxch st(1)
fcom st(2)
fnstsw ax
test ah, 5
jp 0x52cd18
mov ecx, dword [esp + 0x48]
fstp st(2)
mov edx, dword [esp + 0x44]
fstp st(1)
push ecx
fstp st(0)
push edx
lea ecx, [esp + 0x6c]
call fcn.0052ad20
mov ecx, dword [esp + 0x4c]
mov edx, eax
mov eax, dword [esp + 0x50]
push eax
push ecx
lea ecx, [esp + 0x6c]
call fcn.0052ad20
cmp edx, 2
je 0x52cbcf
cmp eax, 2
je 0x52cbcf
cmp edx, eax
je 0x52cbd4
mov edi, 1
cmp dword [esp + 0x6c], 1
jne 0x52cc5f
fld dword [esp + 0x24]
fld dword [esp + 0x68]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x52cc44
fstp st(1)
xor ecx, ecx
fld dword [esp + 0x2c]
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x52ccaf
fucompp
fnstsw ax
test ah, 0x44
mov eax, 2
jnp 0x52cc18
mov eax, 1
cmp ecx, 2
je 0x52cc26
cmp eax, 2
je 0x52cc26
cmp ecx, eax
je 0x52cc2b
mov esi, 1
cmp edi, 1
jne 0x52ce74
test esi, esi
jne 0x52ccd1
sub ebp, 1
jmp 0x52d213
fld st(0)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x52cc58
mov ecx, 2
jmp 0x52cbf4
mov ecx, 1
jmp 0x52cbf4
fld dword [esp + 0x64]
fld st(0)
fmul dword [esp + 0x24]
fld dword [esp + 0x68]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fld dword [esp + 0x28]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x52ccba
fstp st(1)
xor ecx, ecx
fstp st(0)
fld dword [esp + 0x2c]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fld dword [esp + 0x30]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x52cc05
fstp st(1)
xor eax, eax
fstp st(0)
jmp 0x52cc18
fucompp
fnstsw ax
test ah, 0x44
jp 0x52ccca
mov ecx, 2
jmp 0x52cc8e
mov ecx, 1
jmp 0x52cc8e
cmp esi, 1
jne 0x52d26e
lea esi, [ebp - 1]
cmp esi, dword [esp + 0x78]
jae 0x52ccf6
mov edx, dword [esp + 0x10]
lea eax, [ebx + esi]
imul eax, eax, 0x2c
add eax, dword [edx + 0xc]
je 0x52ccf6
mov edx, eax
jmp 0x52ccf8
xor edx, edx
mov ecx, dword [esp + 0x74]
mov edi, dword [esp + 0x10]
add ecx, 0xffffffff
cmp ecx, dword [edi + 8]
jae 0x52d1eb
mov eax, dword [esp + 0x78]
imul eax, ecx
jmp 0x52d1e1
fxch st(1)
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x52cecd
fxch st(1)
fcom st(2)
fnstsw ax
test ah, 5
jp 0x52cecb
mov eax, dword [esp + 0x58]
fstp st(2)
mov ecx, dword [esp + 0x54]
fstp st(1)
push eax
fstp st(0)
push ecx
lea ecx, [esp + 0x6c]
call fcn.0052ad20
mov ecx, dword [esp + 0x5c]
mov edx, eax
mov eax, dword [esp + 0x60]
push eax
push ecx
lea ecx, [esp + 0x6c]
call fcn.0052ad20
cmp edx, 2
je 0x52cd72
cmp eax, 2
je 0x52cd72
cmp edx, eax
je 0x52cd77
mov edi, 1
cmp dword [esp + 0x6c], 1
jne 0x52ce02
fld dword [esp + 0x24]
fld dword [esp + 0x68]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x52cde7
fstp st(1)
xor ecx, ecx
fld dword [esp + 0x2c]
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x52ce52
fucompp
fnstsw ax
test ah, 0x44
mov eax, 2
jnp 0x52cdbb
mov eax, 1
cmp ecx, 2
je 0x52cdc9
cmp eax, 2
je 0x52cdc9
cmp ecx, eax
je 0x52cdce
mov esi, 1
cmp edi, 1
jne 0x52ce74
test esi, esi
jne 0x52ce8e
add ebp, 1
jmp 0x52d213
fld st(0)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x52cdfb
mov ecx, 2
jmp 0x52cd97
mov ecx, 1
jmp 0x52cd97
fld dword [esp + 0x64]
fld st(0)
fmul dword [esp + 0x24]
fld dword [esp + 0x68]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fld dword [esp + 0x28]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x52ce5d
fstp st(1)
xor ecx, ecx
fstp st(0)
fld dword [esp + 0x2c]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fld dword [esp + 0x30]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x52cda8
fstp st(1)
xor eax, eax
fstp st(0)
jmp 0x52cdbb
fucompp
fnstsw ax
test ah, 0x44
jp 0x52ce6d
mov ecx, 2
jmp 0x52ce31
mov ecx, 1
jmp 0x52ce31
test edi, edi
jne 0x52d26e
cmp esi, 1
jne 0x52d26e
sub dword [esp + 0x74], esi
jmp 0x52d213
cmp esi, 1
jne 0x52d26e
lea esi, [ebp + 1]
cmp esi, dword [esp + 0x78]
jae 0x52cebd
mov edx, dword [esp + 0x10]
lea eax, [esi + ebx]
imul eax, eax, 0x2c
add eax, dword [edx + 0xc]
je 0x52cebd
mov ecx, dword [esp + 0x74]
mov edx, eax
add ecx, 0xffffffff
jmp 0x52d1d1
mov ecx, dword [esp + 0x74]
xor edx, edx
add ecx, 0xffffffff
jmp 0x52d1d1
fxch st(1)
fcom st(2)
fnstsw ax
test ah, 5
jp 0x52d03a
fxch st(1)
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x52d038
mov eax, dword [esp + 0x48]
fstp st(2)
mov ecx, dword [esp + 0x44]
fstp st(1)
push eax
fstp st(0)
push ecx
lea ecx, [esp + 0x6c]
call fcn.0052ad20
mov ecx, dword [esp + 0x4c]
mov edx, eax
mov eax, dword [esp + 0x50]
push eax
push ecx
lea ecx, [esp + 0x6c]
call fcn.0052ad20
cmp edx, 2
je 0x52cf25
cmp eax, 2
je 0x52cf25
cmp edx, eax
je 0x52cf2a
mov edi, 1
cmp dword [esp + 0x6c], 1
jne 0x52cfb5
fld dword [esp + 0x34]
fld dword [esp + 0x68]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x52cf9a
fstp st(1)
xor ecx, ecx
fld dword [esp + 0x3c]
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x52d005
fucompp
fnstsw ax
test ah, 0x44
mov eax, 2
jnp 0x52cf6e
mov eax, 1
cmp ecx, 2
je 0x52cf7c
cmp eax, 2
je 0x52cf7c
cmp ecx, eax
je 0x52cf81
mov esi, 1
cmp edi, 1
jne 0x52d18c
test esi, esi
jne 0x52d027
sub ebp, 1
jmp 0x52d213
fld st(0)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x52cfae
mov ecx, 2
jmp 0x52cf4a
mov ecx, 1
jmp 0x52cf4a
fld dword [esp + 0x64]
fld st(0)
fmul dword [esp + 0x34]
fld dword [esp + 0x68]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fld dword [esp + 0x38]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x52d010
fstp st(1)
xor ecx, ecx
fstp st(0)
fld dword [esp + 0x3c]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fld dword [esp + 0x40]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x52cf5b
fstp st(1)
xor eax, eax
fstp st(0)
jmp 0x52cf6e
fucompp
fnstsw ax
test ah, 0x44
jp 0x52d020
mov ecx, 2
jmp 0x52cfe4
mov ecx, 1
jmp 0x52cfe4
cmp esi, 1
jne 0x52d26e
lea esi, [ebp - 1]
jmp 0x52d1af
fxch st(1)
fcomp st(2)
fnstsw ax
test ah, 0x41
jne 0x52d236
fcompp
fnstsw ax
test ah, 0x41
jne 0x52d26e
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
push eax
push ecx
lea ecx, [esp + 0x6c]
call fcn.0052ad20
mov ecx, dword [esp + 0x5c]
mov edx, eax
mov eax, dword [esp + 0x60]
push eax
push ecx
lea ecx, [esp + 0x6c]
call fcn.0052ad20
cmp edx, 2
je 0x52d08a
cmp eax, 2
je 0x52d08a
cmp edx, eax
je 0x52d08f
mov edi, 1
cmp dword [esp + 0x6c], 1
jne 0x52d11a
fld dword [esp + 0x34]
fld dword [esp + 0x68]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x52d0ff
fstp st(1)
xor ecx, ecx
fld dword [esp + 0x3c]
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x52d16a
fucompp
fnstsw ax
test ah, 0x44
mov eax, 2
jnp 0x52d0d3
mov eax, 1
cmp ecx, 2
je 0x52d0e1
cmp eax, 2
je 0x52d0e1
cmp ecx, eax
je 0x52d0e6
mov esi, 1
cmp edi, 1
jne 0x52d18c
test esi, esi
jne 0x52d1a3
add ebp, 1
jmp 0x52d213
fld st(0)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x52d113
mov ecx, 2
jmp 0x52d0af
mov ecx, 1
jmp 0x52d0af
fld dword [esp + 0x64]
fld st(0)
fmul dword [esp + 0x34]
fld dword [esp + 0x68]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fld dword [esp + 0x38]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x52d175
fstp st(1)
xor ecx, ecx
fstp st(0)
fld dword [esp + 0x3c]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fld dword [esp + 0x40]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x52d0c0
fstp st(1)
xor eax, eax
fstp st(0)
jmp 0x52d0d3
fucompp
fnstsw ax
test ah, 0x44
jp 0x52d185
mov ecx, 2
jmp 0x52d149
mov ecx, 1
jmp 0x52d149
test edi, edi
jne 0x52d26e
cmp esi, 1
jne 0x52d26e
add dword [esp + 0x74], esi
jmp 0x52d213
cmp esi, 1
jne 0x52d26e
lea esi, [ebp + 1]
cmp esi, dword [esp + 0x78]
jae 0x52d1c8
mov edx, dword [esp + 0x10]
lea eax, [esi + ebx]
imul eax, eax, 0x2c
add eax, dword [edx + 0xc]
je 0x52d1c8
mov edx, eax
jmp 0x52d1ca
xor edx, edx
mov ecx, dword [esp + 0x74]
add ecx, 1
mov edi, dword [esp + 0x10]
cmp ecx, dword [edi + 8]
jae 0x52d1eb
mov eax, ecx
imul eax, dword [esp + 0x78]
add eax, ebp
imul eax, eax, 0x2c
add eax, dword [edi + 0xc]
jne 0x52d1ed
xor eax, eax
test edx, edx
je 0x52d26e
test eax, eax
je 0x52d26e
cmp byte [edx + 0x1c], 0
jne 0x52d26e
cmp byte [edx + 0x1d], 0
jne 0x52d26e
cmp byte [eax + 0x1c], 0
jne 0x52d26e
cmp byte [eax + 0x1d], 0
jne 0x52d26e
mov dword [esp + 0x74], ecx
mov ebp, esi
cmp dword [esp + 0x14], 0xc350
jge 0x52d26e
fld dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
fld dword [esp + 0x1c]
fld1
fldz
jmp 0x52c907
fstp st(3)
fstp st(2)
pop edi
fstp st(1)
pop esi
fstp st(0)
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret 0x10
pop edi
fstp st(2)
pop esi
fstp st(1)
pop ebp
fstp st(0)
mov eax, 1
pop ebx
add esp, 0x60
ret 0x10
fstp st(3)
push str.___
fstp st(2)
fstp st(1)
fstp st(0)
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret 0x10