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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x2270
call fcn.005de040
fldz
push ebx
fstp dword [esp + 0x1174]
push edi
push 0x84
lea eax, [esp + 0x1180]
push 0
push eax
call fcn.005d9e90
push 0x1078
lea ecx, [esp + 0x1210]
push 0
push ecx
call fcn.005d9e90
add esp, 0x18
cmp byte [esi + 0x2d4], 0
mov dword [esp + 0x68], 0x679060
jne 0x55c19f
mov dword [esp + 0x68], 0x679000
xor eax, eax
mov ecx, 0x440
lea edi, [esp + 0x78]
rep stosd dword es:[edi], eax
xor al, al
cmp byte [esi + 0x2d5], al
mov byte [esp + 0xf], al
jbe 0x55c2fe
mov edi, dword [esi + 0x2dc]
mov edx, dword [esi + 0x2e0]
mov dword [esp + 0x34], edi
mov dword [esp + 0x14], edx
cmp al, byte [esi + 0x2d6]
mov ecx, dword [esp + 0x14]
mov dl, byte [ecx]
mov byte [esp + 0x10], dl
jae 0x55c1eb
mov cl, byte [edi]
add cl, 1
jmp 0x55c1ee
mov cl, byte [edi + 1]
mov dl, byte [edi]
cmp dl, cl
jae 0x55c2e0
movzx ebx, byte [esi + 9]
mov bl, byte [ebx + esi + 0xa]
sub cl, dl
mov byte [esp + 0x12], bl
movzx ebx, dl
movzx ecx, cl
mov dword [esp + 0x18], ebx
mov dword [esp + 0x40], ecx
jmp 0x55c220
mov bl, byte [esi + 0xa]
cmp bl, byte [esp + 0x12]
jae 0x55c2cd
movzx ecx, byte [esp + 0x10]
mov edi, dword [ebp + 8]
movzx eax, bl
mov edx, eax
shl edx, 4
add edx, eax
lea ecx, [ecx + edx*2]
mov edx, eax
shl edx, 6
add edx, dword [esp + 0x18]
shl eax, 5
add eax, dword [esp + 0x18]
lea edx, [edi + edx*8]
mov edi, dword [ebp + 0x10]
lea edi, [edi + eax*8]
movzx eax, byte [esi + 9]
mov al, byte [eax + esi + 0xa]
sub al, bl
movzx eax, al
mov dword [esp + 0x30], eax
mov al, byte [esp + 0xf]
lea ecx, [esp + ecx*4 + 0x78]
cmp al, byte [esi + 0x2d6]
jae 0x55c287
fld dword [edi]
fstp dword [esp + 0x28]
fld dword [edi + 4]
jmp 0x55c290
fld dword [edx]
fstp dword [esp + 0x28]
fld dword [edx + 4]
fstp dword [esp + 0x2c]
add edi, 0x100
fld dword [esp + 0x2c]
add edx, 0x200
fld dword [esp + 0x28]
add ecx, 0x88
sub dword [esp + 0x30], 1
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fadd dword [ecx - 0x88]
fstp dword [ecx - 0x88]
jne 0x55c274
mov edi, dword [esp + 0x34]
mov ecx, 1
add dword [esp + 0x18], ecx
sub dword [esp + 0x40], ecx
jne 0x55c220
add dword [esp + 0x14], 2
add al, 1
add edi, 1
cmp al, byte [esi + 0x2d5]
mov byte [esp + 0xf], al
mov dword [esp + 0x34], edi
jb 0x55c1d2
fld1
xor al, al
cmp byte [esi + 0x2d7], al
mov byte [esp + 0x10], al
jbe 0x55c418
fld qword [0x648960]
movzx ecx, byte [esi + 9]
mov bl, byte [esi + 0xa]
cmp bl, byte [ecx + esi + 0xa]
jae 0x55c404
movzx ecx, al
fld dword [esi + ecx*4 + 0x4e74]
movzx eax, bl
fmul dword [esi + 0x4e6c]
mov edx, eax
shl edx, 4
add edx, eax
fstp dword [esp + 0x1c]
lea edx, [ecx + edx*2]
fld dword [esp + 0x1c]
add edx, edx
add edx, edx
fst dword [esi + ecx*4 + 0x4e74]
fld dword [esp + edx + 0x78]
fcompp
fnstsw ax
test ah, 0x41
jne 0x55c371
fld dword [esp + edx + 0x78]
fstp dword [esi + ecx*4 + 0x4e74]
fld dword [esi + ecx*4 + 0x4e74]
fsub dword [esp + edx + 0x78]
fsub dword [esi + ecx*4 + 0x4f84]
fmul dword [esi + 0x4e70]
fadd dword [esi + ecx*4 + 0x4f84]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + ecx*4 + 0x4f84]
fld dword [esp + edx + 0x78]
fsub dword [esi + ecx*4 + 0x4efc]
fmul dword [esi + 0x4e70]
fadd dword [esi + ecx*4 + 0x4efc]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + ecx*4 + 0x4efc]
fxch st(1)
fmul st(2)
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x55c3e2
fstp st(1)
fstp st(0)
fxch st(1)
fst dword [esp + edx + 0x1178]
jmp 0x55c3ed
fdivp st(1)
fstp dword [esp + edx + 0x1178]
fxch st(1)
movzx eax, byte [esi + 9]
fxch st(1)
add bl, 1
cmp bl, byte [eax + esi + 0xa]
jb 0x55c32c
mov al, byte [esp + 0x10]
add al, 1
cmp al, byte [esi + 0x2d7]
mov byte [esp + 0x10], al
jb 0x55c318
fstp st(0)
cmp byte [esi + 0x2d5], 0
mov byte [esp + 0xf], 0
jbe 0x55c95e
fld qword [0x67b038]
mov al, byte [esp + 0xf]
cmp al, byte [esi + 0x2d6]
movzx eax, al
mov dword [esp + 0x1c], eax
jae 0x55c452
mov ecx, dword [esi + 0x2dc]
add eax, ecx
mov cl, byte [eax]
add cl, 1
jmp 0x55c45e
mov edx, dword [esi + 0x2dc]
mov cl, byte [eax + edx + 1]
add eax, edx
mov al, byte [eax]
cmp al, cl
mov byte [esp + 0x12], cl
mov byte [esp + 0x11], al
jae 0x55c946
mov al, byte [esp + 0xf]
cmp al, byte [esi + 0x2d6]
jb 0x55c4b1
mov al, byte [esi + 0x2d9]
mov cl, byte [esp + 0x11]
cmp cl, al
jbe 0x55c4b1
sub al, cl
cmp al, 0xec
jg 0x55c498
fldz
fstp dword [esp + 0x14]
jmp 0x55c4b9
movsx ecx, al
mov dword [esp + 0x4c], ecx
fild dword [esp + 0x4c]
fmul st(1)
fadd qword [0x632bd0]
fstp dword [esp + 0x14]
jmp 0x55c4b9
fxch st(1)
fst dword [esp + 0x14]
fxch st(1)
fld dword [esp + 0x14]
xor eax, eax
lea ecx, [eax + 3]
fld dword [eax + 0x67aec8]
add eax, 4
sub ecx, 1
fmul st(1)
fstp dword [esp + eax + 0x68]
jne 0x55c4c2
mov dl, byte [esi + 0x2e4]
fstp st(0)
mov ax, word [esi + 0x2e5]
mov cl, byte [esi + 0x2e7]
mov byte [esp + 0x10], dl
movzx edx, byte [esi + 9]
mov word [esp + 0x18], ax
mov al, byte [esi + 0xa]
cmp al, byte [edx + esi + 0xa]
mov byte [esp + 0x1a], cl
mov byte [esp + 0x13], al
jae 0x55c932
movzx edi, byte [esp + 0x11]
fstp st(1)
movzx eax, byte [esp + 0x13]
mov dl, byte [esi + 0x2d6]
cmp byte [esp + 0xf], dl
mov dword [esp + 0x4c], eax
mov ecx, eax
jae 0x55c533
mov ebx, dword [ebp + 0x10]
shl ecx, 5
jmp 0x55c539
mov ebx, dword [ebp + 8]
shl ecx, 6
add ecx, edi
fld dword [ebx + ecx*8]
lea ecx, [ebx + ecx*8]
fstp dword [esp + 0x28]
fld dword [ecx + 4]
mov cl, byte [esp + 0x11]
cmp cl, byte [esi + 0x2d8]
fstp dword [esp + 0x2c]
jbe 0x55c5b2
cmp byte [esp + 0xf], dl
jb 0x55c5b8
movzx edx, byte [edi + esi + 0x32b]
shl edx, 6
lea ecx, [edx + edi]
fld dword [esi + ecx*8 + 0x36c]
fstp dword [esp + 0x20]
fld dword [esi + ecx*8 + 0x370]
fstp dword [esp + 0x24]
fld dword [esp + 0x28]
fstp dword [esi + ecx*8 + 0x36c]
movzx ecx, byte [edi + esi + 0x32b]
fld dword [esp + 0x2c]
shl ecx, 6
add ecx, edi
fstp dword [esi + ecx*8 + 0x370]
fld dword [esp + 0x24]
fld dword [esp + 0x20]
jmp 0x55c850
cmp byte [esp + 0xf], dl
jae 0x55c600
movzx edx, byte [esp + 0x10]
shl edx, 5
lea eax, [edx + edi]
fld dword [esi + eax*8 + 0x1f6c]
fstp dword [esp + 0x44]
fld dword [esi + eax*8 + 0x1f70]
fstp dword [esp + 0x48]
fld dword [esp + 0x28]
fstp dword [esi + eax*8 + 0x1f6c]
fld dword [esp + 0x2c]
fstp dword [esi + eax*8 + 0x1f70]
mov eax, dword [esp + 0x68]
fld dword [eax + edi*8]
fstp dword [esp + 0x60]
fld dword [eax + edi*8 + 4]
jmp 0x55c648
movzx eax, byte [esp + 0x10]
shl eax, 6
add eax, edi
fld dword [esi + eax*8 + 0x36c]
fstp dword [esp + 0x44]
fld dword [esi + eax*8 + 0x370]
fstp dword [esp + 0x48]
fld dword [esp + 0x28]
fstp dword [esi + eax*8 + 0x36c]
fld dword [esp + 0x2c]
fstp dword [esi + eax*8 + 0x370]
fld dword [edi*8 + str.CrQ_]
fstp dword [esp + 0x60]
fld dword [edi*8 + 0x678e04]
fstp dword [esp + 0x64]
lea ecx, [esp + 0x6c]
fld dword [esp + 0x64]
mov dword [esp + 0x30], ecx
fld st(0)
lea ecx, [edi + edi*2]
fld dword [esp + 0x48]
add ecx, ecx
fld st(0)
lea eax, [esp + 0x18]
fmulp st(2)
add ecx, ecx
fld dword [esp + 0x60]
mov dword [esp + 0x14], 0
fld st(0)
mov dword [esp + 0x34], eax
fld dword [esp + 0x44]
add ecx, ecx
fld st(0)
mov dword [esp + 0x40], 3
fmulp st(2)
fxch st(4)
faddp st(1)
fstp dword [esp + 0x20]
fmulp st(1)
fxch st(2)
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x20]
fstp dword [esp + 0x38]
fld dword [esp + 0x24]
fstp dword [esp + 0x3c]
jmp 0x55c6c4
fstp st(0)
fstp st(0)
mov bl, byte [esi + 0x2d6]
cmp byte [esp + 0xf], bl
jae 0x55c723
movzx edx, byte [eax]
mov eax, dword [esp + 0x14]
add eax, edx
mov edx, eax
shl edx, 5
add edx, edi
cmp byte [esi + 0x2d4], 0
fld dword [esi + edx*8 + 0x3f6c]
fstp dword [esp + 0x44]
fld dword [esi + edx*8 + 0x3f70]
fstp dword [esp + 0x48]
je 0x55c711
fld dword [ecx + 0x679880]
fstp dword [esp + 0x50]
fld dword [ecx + 0x679884]
jmp 0x55c759
fld dword [ecx + 0x679760]
fstp dword [esp + 0x50]
fld dword [ecx + 0x679764]
jmp 0x55c759
movzx eax, byte [eax]
mov edx, dword [esp + 0x14]
add eax, edx
mov edx, eax
shl edx, 6
add edx, edi
fld dword [esi + edx*8 + 0x216c]
fstp dword [esp + 0x44]
fld dword [esi + edx*8 + 0x2170]
fstp dword [esp + 0x48]
fld dword [ecx + 0x679160]
fstp dword [esp + 0x50]
fld dword [ecx + 0x679164]
cmp byte [esp + 0xf], bl
fstp dword [esp + 0x54]
fld dword [esp + 0x54]
mov edx, dword [esp + 0x30]
fld st(0)
fld dword [esp + 0x48]
fld st(0)
fmulp st(2)
fld dword [esp + 0x50]
fld st(0)
fld dword [esp + 0x44]
fld st(0)
fmulp st(2)
fxch st(4)
faddp st(1)
fstp dword [esp + 0x20]
fmulp st(1)
fxch st(2)
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x24]
fld dword [edx]
fld dword [esp + 0x38]
fld st(0)
fmulp st(2)
fxch st(1)
fsubr dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [edx]
fld dword [esp + 0x3c]
fld st(0)
fmulp st(2)
fxch st(1)
fsubr dword [esp + 0x24]
fstp dword [esp + 0x24]
fld dword [edx]
fld dword [esp + 0x20]
fld st(0)
fmulp st(2)
fxch st(1)
faddp st(3)
fxch st(2)
fstp dword [esp + 0x58]
fld dword [edx]
fld dword [esp + 0x24]
fld st(0)
fmulp st(2)
fxch st(1)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x5c]
fld dword [esp + 0x58]
jae 0x55c804
shl eax, 5
add eax, edi
fstp dword [esi + eax*8 + 0x3f6c]
fld dword [esp + 0x5c]
fstp dword [esi + eax*8 + 0x3f70]
jmp 0x55c81b
shl eax, 6
add eax, edi
fstp dword [esi + eax*8 + 0x216c]
fld dword [esp + 0x5c]
fstp dword [esi + eax*8 + 0x2170]
mov eax, dword [esp + 0x34]
fxch st(1)
add dword [esp + 0x30], 4
fst dword [esp + 0x38]
add dword [esp + 0x14], 5
fxch st(1)
add eax, 1
fst dword [esp + 0x3c]
add ecx, 8
sub dword [esp + 0x40], 1
mov dword [esp + 0x34], eax
jne 0x55c6c0
mov eax, dword [esp + 0x4c]
fxch st(1)
mov ecx, dword [esi + 0x2e0]
mov edx, dword [esp + 0x1c]
mov cl, byte [ecx + edx*2]
mov edx, eax
movzx ecx, cl
shl edx, 4
add edx, eax
lea ecx, [ecx + edx*2]
lea ecx, [esp + ecx*4 + 0x1178]
fmul dword [ecx]
fstp dword [esp + 0x38]
fmul dword [ecx]
mov cl, byte [esp + 0xf]
cmp cl, byte [esi + 0x2d6]
fstp dword [esp + 0x3c]
fld dword [esp + 0x38]
jae 0x55c895
mov edx, dword [ebp + 0x14]
shl eax, 5
jmp 0x55c89b
mov edx, dword [ebp + 0xc]
shl eax, 6
add eax, edi
lea eax, [edx + eax*8]
fstp dword [eax]
fld dword [esp + 0x3c]
fstp dword [eax + 4]
mov al, byte [esp + 0x10]
add al, 1
cmp al, 2
mov byte [esp + 0x10], al
jb 0x55c8bc
mov byte [esp + 0x10], 0
mov al, byte [esp + 0x11]
cmp al, byte [esi + 0x2d8]
jbe 0x55c8f0
cmp cl, byte [esi + 0x2d6]
jb 0x55c8f0
add byte [edi + esi + 0x32b], 1
mov al, byte [edi + esi + 0x32b]
cmp al, byte [edi + esi + 0x2eb]
jb 0x55c8f0
mov byte [edi + esi + 0x32b], 0
lea eax, [esp + 0x18]
lea ecx, [esi + 0x2e8]
mov ebx, 3
add byte [eax], 1
mov dl, byte [eax]
cmp dl, byte [ecx]
jb 0x55c90b
mov byte [eax], 0
add ecx, 1
add eax, 1
sub ebx, 1
jne 0x55c8ff
mov al, byte [esp + 0x13]
movzx ecx, byte [esi + 9]
add al, 1
cmp al, byte [ecx + esi + 0xa]
mov byte [esp + 0x13], al
jb 0x55c514
fld1
fxch st(1)
mov al, byte [esp + 0x11]
add al, 1
cmp al, byte [esp + 0x12]
mov byte [esp + 0x11], al
jb 0x55c470
mov al, byte [esp + 0xf]
add al, 1
cmp al, byte [esi + 0x2d5]
mov byte [esp + 0xf], al
jb 0x55c430
fstp st(1)
mov dl, byte [esp + 0x10]
fstp st(0)
mov ax, word [esp + 0x18]
mov cl, byte [esp + 0x1a]
mov byte [esi + 0x2e4], dl
pop edi
mov word [esi + 0x2e5], ax
mov byte [esi + 0x2e7], cl
pop ebx
mov esp, ebp
pop ebp
ret