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

Disassembly:
mov ecx, dword [ecx + 0x1f4]
test ecx, ecx
jne 0x5563bf
xor eax, eax
ret 0x14
jmp 0x558990
sub esp, 0x14c
mov eax, dword [0x6c9384]
xor eax, esp
mov dword [esp + 0x148], eax
push ebx
push ebp
push esi
mov esi, dword [esp + 0x15c]
fld dword [esi]
mov eax, dword [esp + 0x164]
fld qword [0x5a7788]
mov ebp, dword [esp + 0x160]
fdiv st(1), st(0)
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x16c]
push edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x30], ecx
fxch st(1)
call fcn.005846d0
fld dword [esi + 8]
fdiv st(1)
mov edi, eax
mov dword [esp + 0x28], edi
call fcn.005846d0
fld dword [ebp]
fdiv st(1)
mov ebx, eax
mov dword [esp + 0x2c], ebx
call fcn.005846d0
fld dword [ebp + 8]
fdiv st(1)
mov esi, edi
sub esi, eax
call fcn.005846d0
mov ecx, ebx
sub ecx, eax
mov eax, esi
cdq
mov ebp, eax
xor ebp, edx
sub ebp, edx
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1c], ebp
cmp ebp, eax
jg 0x558a37
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
mov edx, dword [eax]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x44], edx
cmp edi, edx
jae 0x558a68
mov edx, dword [eax + 4]
mov dword [esp + 0x20], edx
cmp ebx, edx
jae 0x558a68
mov eax, dword [eax + 8]
imul edx, ebx
lea ebp, [edx + edi]
mov dword [esp + 0x54], eax
lea eax, [eax + ebp*2]
test eax, eax
jne 0x558ad5
mov eax, dword [esp + 0x18]
test eax, eax
je 0x558a86
fild dword [esp + 0x28]
fmul st(1)
fstp dword [eax]
fldz
fstp dword [eax + 4]
fimul dword [esp + 0x2c]
fstp dword [eax + 8]
jmp 0x558a88
fstp st(0)
push 0xff
lea edx, [esp + 0x5d]
push 0
push edx
mov byte [esp + 0x64], 0
call fcn.00583f60
mov eax, dword [esp + 0x3c]
add eax, 0x131
push eax
push ebx
push edi
lea ecx, [esp + 0x70]
push str._d__d__s
push ecx
call fcn.00583d3f
lea edx, [esp + 0x78]
push edx
push 0xef
push str.TileManager.cpp
call fcn.0052f000
add esp, 0x2c
jmp 0x558c7e
cmp byte [eax], 0
jne 0x558ae4
cmp byte [eax + 1], 0
je 0x558c5e
xor ebx, ebx
xor ebp, ebp
test esi, esi
jle 0x558af1
lea esi, [ebx + 1]
jmp 0x558af5
neg esi
sbb esi, esi
neg esi
mov dword [esp + 0x4c], esi
test ecx, ecx
jle 0x558b06
mov ecx, 1
jmp 0x558b0a
neg ecx
sbb ecx, ecx
mov eax, dword [esp + 0x1c]
neg ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x24], ebx
test eax, eax
js 0x558c5e
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x20]
imul edx, ecx
mov esi, edi
mov edi, dword [esp + 0x10]
mov dword [esp + 0x38], edx
cmp dword [esp + 0x24], 2
jg 0x558ba9
add ebx, dword [esp + 0x34]
add ebp, dword [esp + 0x3c]
mov dword [esp + 0x48], esi
mov dword [esp + 0x50], edi
cmp ebx, eax
jle 0x558b56
sub ebx, eax
add esi, dword [esp + 0x4c]
cmp ebp, eax
jle 0x558b62
sub ebp, eax
add edi, ecx
add dword [esp + 0x1c], edx
cmp esi, dword [esp + 0x44]
jae 0x558bd6
cmp edi, dword [esp + 0x20]
jae 0x558bd6
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x54]
add ecx, esi
lea ecx, [edx + ecx*2]
test ecx, ecx
je 0x558bd6
cmp byte [ecx], 0
jne 0x558b8e
cmp byte [ecx + 1], 0
je 0x558c2a
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, eax
jg 0x558c5e
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
jmp 0x558b35
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], esi
test eax, eax
je 0x558c7c
fild dword [esp + 0x14]
fmul st(1)
fstp dword [eax]
fldz
fstp dword [eax + 4]
fimul dword [esp + 0x10]
fstp dword [eax + 8]
jmp 0x558c7e
mov eax, dword [esp + 0x18]
test eax, eax
je 0x558bf4
fild dword [esp + 0x48]
fmul st(1)
fstp dword [eax]
fldz
fstp dword [eax + 4]
fimul dword [esp + 0x50]
fstp dword [eax + 8]
jmp 0x558bf6
fstp st(0)
mov eax, dword [esp + 0x30]
add eax, 0x131
push eax
push edi
push esi
lea ecx, [esp + 0x64]
push str._d__d__s
push ecx
call fcn.00583d3f
lea edx, [esp + 0x6c]
push edx
push 0x137
push str.TileManager.cpp
call fcn.0052f000
add esp, 0x20
jmp 0x558c7e
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], esi
test eax, eax
je 0x558c55
fild dword [esp + 0x14]
fmul st(1)
fstp dword [eax]
fldz
fstp dword [eax + 4]
fimul dword [esp + 0x10]
fstp dword [eax + 8]
mov eax, 1
jmp 0x558c80
fstp st(0)
mov eax, 1
jmp 0x558c80
mov eax, dword [esp + 0x18]
test eax, eax
je 0x558c7c
fild dword [esp + 0x28]
fmul st(1)
fstp dword [eax]
fldz
fstp dword [eax + 4]
fimul dword [esp + 0x2c]
fstp dword [eax + 8]
jmp 0x558c7e
fstp st(0)
xor eax, eax
mov ecx, dword [esp + 0x158]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.005837be
add esp, 0x14c
ret 0x14