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

Disassembly:
sub esp, 0x8c
test byte [0x8c0870], 7
mov eax, ecx
mov dword [esp], eax
jne 0x53f189
movss xmm0, dword [0x656518]
push ebx
push ebp
xor ebp, ebp
push esi
push edi
mov dword [esp + 0x18], ebp
lea edx, [esp + 0x9c]
add eax, 0xa7c
mov ecx, 4
jmp 0x53eca0
cmp dword [eax + 4], 0
je 0x53ecbb
movss xmm1, dword [eax]
comiss xmm1, xmm0
ja 0x53ecbb
lea esi, [eax - 0xc]
mov dword [esp + ebp*4 + 0x1c], esi
add ebp, 1
jmp 0x53ecc3
sub edx, 4
lea esi, [eax - 0xc]
mov dword [edx], esi
cmp dword [eax + 0x1c], 0
je 0x53ecdf
movss xmm1, dword [eax + 0x18]
comiss xmm1, xmm0
ja 0x53ecdf
lea esi, [eax + 0xc]
mov dword [esp + ebp*4 + 0x1c], esi
add ebp, 1
jmp 0x53ece7
sub edx, 4
lea esi, [eax + 0xc]
mov dword [edx], esi
cmp dword [eax + 0x34], 0
je 0x53ed03
movss xmm1, dword [eax + 0x30]
comiss xmm1, xmm0
ja 0x53ed03
lea esi, [eax + 0x24]
mov dword [esp + ebp*4 + 0x1c], esi
add ebp, 1
jmp 0x53ed0b
sub edx, 4
lea esi, [eax + 0x24]
mov dword [edx], esi
cmp dword [eax + 0x4c], 0
je 0x53ed27
movss xmm1, dword [eax + 0x48]
comiss xmm1, xmm0
ja 0x53ed27
lea esi, [eax + 0x3c]
mov dword [esp + ebp*4 + 0x1c], esi
add ebp, 1
jmp 0x53ed2f
sub edx, 4
lea esi, [eax + 0x3c]
mov dword [edx], esi
cmp dword [eax + 0x64], 0
je 0x53ed4b
movss xmm1, dword [eax + 0x60]
comiss xmm1, xmm0
ja 0x53ed4b
lea esi, [eax + 0x54]
mov dword [esp + ebp*4 + 0x1c], esi
add ebp, 1
jmp 0x53ed53
sub edx, 4
lea esi, [eax + 0x54]
mov dword [edx], esi
cmp dword [eax + 0x7c], 0
je 0x53ed6f
movss xmm1, dword [eax + 0x78]
comiss xmm1, xmm0
ja 0x53ed6f
lea esi, [eax + 0x6c]
mov dword [esp + ebp*4 + 0x1c], esi
add ebp, 1
jmp 0x53ed77
sub edx, 4
lea esi, [eax + 0x6c]
mov dword [edx], esi
cmp dword [eax + 0x94], 0
je 0x53ed9c
movss xmm1, dword [eax + 0x90]
comiss xmm1, xmm0
ja 0x53ed9c
lea esi, [eax + 0x84]
mov dword [esp + ebp*4 + 0x1c], esi
add ebp, 1
jmp 0x53eda7
sub edx, 4
lea esi, [eax + 0x84]
mov dword [edx], esi
cmp dword [eax + 0xac], 0
je 0x53edcc
movss xmm1, dword [eax + 0xa8]
comiss xmm1, xmm0
ja 0x53edcc
lea esi, [eax + 0x9c]
mov dword [esp + ebp*4 + 0x1c], esi
add ebp, 1
jmp 0x53edd7
sub edx, 4
lea esi, [eax + 0x9c]
mov dword [edx], esi
add eax, 0xc0
sub ecx, 1
jne 0x53eca0
lea eax, [ebp - 1]
xor esi, esi
test eax, eax
mov dword [esp + 0x18], ebp
jle 0x53eea0
lea ecx, [esp + 0x20]
sub ecx, 8
lea ecx, [ecx]
lea ebx, [esi + 1]
cmp ebx, 4
jl 0x53ee6b
mov eax, ecx
lea ebx, [ebx]
mov edi, dword [eax + 4]
mov edx, dword [eax + 8]
movss xmm0, dword [edi + 0xc]
comiss xmm0, dword [edx + 0xc]
jbe 0x53ee90
mov dword [eax + 8], edi
mov edi, dword [eax]
movss xmm0, dword [edi + 0xc]
comiss xmm0, dword [edx + 0xc]
mov dword [eax + 4], edx
jbe 0x53ee90
mov dword [eax + 4], edi
mov edi, dword [eax - 4]
movss xmm0, dword [edi + 0xc]
comiss xmm0, dword [edx + 0xc]
mov dword [eax], edx
jbe 0x53ee90
mov dword [eax], edi
mov edi, dword [eax - 8]
movss xmm0, dword [edi + 0xc]
comiss xmm0, dword [edx + 0xc]
mov dword [eax - 4], edx
jbe 0x53ee90
mov dword [eax - 4], edi
mov dword [eax - 8], edx
sub esi, 4
sub eax, 0x10
cmp esi, 3
jge 0x53ee10
test esi, esi
jl 0x53ee90
nop
mov eax, dword [esp + esi*4 + 0x1c]
mov edx, dword [esp + esi*4 + 0x20]
movss xmm0, dword [eax + 0xc]
comiss xmm0, dword [edx + 0xc]
jbe 0x53ee90
sub esi, 1
mov dword [esp + esi*4 + 0x24], eax
mov dword [esp + esi*4 + 0x20], edx
jns 0x53ee70
mov esi, ebx
lea eax, [ebp - 1]
add ecx, 4
cmp esi, eax
jl 0x53ee00
xor esi, esi
cmp ebp, 4
mov dword [esp + 0x14], esi
jle 0x53eeb4
mov ebp, 4
mov dword [esp + 0x18], ebp
cmp ebp, 4
mov bl, 2
jl 0x53f012
nop
mov edx, dword [esp + esi*4 + 0x1c]
mov eax, dword [edx + 0x14]
cmp eax, 0xffffffff
je 0x53ef11
sub eax, 0x3b
js 0x53ef11
cmp eax, 4
jge 0x53ef11
lea ecx, [eax + eax*2]
add ecx, ecx
add ecx, ecx
sub ecx, eax
mov byte [esp + eax + 0x14], 1
mov eax, dword [esp + 0x10]
lea eax, [eax + ecx*4 + 0xd70]
mov edi, edx
mov ebp, dword [edi]
lea ecx, [eax + 8]
mov dword [ecx], ebp
mov ebp, dword [edi + 4]
mov dword [ecx + 4], ebp
mov edi, dword [edi + 8]
mov ebp, dword [esp + 0x18]
mov dword [ecx + 8], edi
mov edx, dword [edx + 0xc]
or byte [eax + 0x27], bl
mov dword [eax + 0x14], edx
mov edx, dword [esp + esi*4 + 0x20]
mov eax, dword [edx + 0x14]
cmp eax, 0xffffffff
je 0x53ef62
sub eax, 0x3b
js 0x53ef62
cmp eax, 4
jge 0x53ef62
lea ecx, [eax + eax*2]
add ecx, ecx
add ecx, ecx
sub ecx, eax
mov byte [esp + eax + 0x14], 1
mov eax, dword [esp + 0x10]
lea eax, [eax + ecx*4 + 0xd70]
mov edi, edx
mov ebp, dword [edi]
lea ecx, [eax + 8]
mov dword [ecx], ebp
mov ebp, dword [edi + 4]
mov dword [ecx + 4], ebp
mov edi, dword [edi + 8]
mov ebp, dword [esp + 0x18]
mov dword [ecx + 8], edi
mov edx, dword [edx + 0xc]
or byte [eax + 0x27], bl
mov dword [eax + 0x14], edx
mov edx, dword [esp + esi*4 + 0x24]
mov eax, dword [edx + 0x14]
cmp eax, 0xffffffff
je 0x53efb3
sub eax, 0x3b
js 0x53efb3
cmp eax, 4
jge 0x53efb3
lea ecx, [eax + eax*2]
add ecx, ecx
add ecx, ecx
sub ecx, eax
mov byte [esp + eax + 0x14], 1
mov eax, dword [esp + 0x10]
lea eax, [eax + ecx*4 + 0xd70]
mov edi, edx
mov ebp, dword [edi]
lea ecx, [eax + 8]
mov dword [ecx], ebp
mov ebp, dword [edi + 4]
mov dword [ecx + 4], ebp
mov edi, dword [edi + 8]
mov ebp, dword [esp + 0x18]
mov dword [ecx + 8], edi
mov edx, dword [edx + 0xc]
or byte [eax + 0x27], bl
mov dword [eax + 0x14], edx
mov edx, dword [esp + esi*4 + 0x28]
mov eax, dword [edx + 0x14]
cmp eax, 0xffffffff
je 0x53f004
sub eax, 0x3b
js 0x53f004
cmp eax, 4
jge 0x53f004
lea ecx, [eax + eax*2]
add ecx, ecx
add ecx, ecx
sub ecx, eax
mov byte [esp + eax + 0x14], 1
mov eax, dword [esp + 0x10]
lea eax, [eax + ecx*4 + 0xd70]
mov edi, edx
mov ebp, dword [edi]
lea ecx, [eax + 8]
mov dword [ecx], ebp
mov ebp, dword [edi + 4]
mov dword [ecx + 4], ebp
mov edi, dword [edi + 8]
mov ebp, dword [esp + 0x18]
mov dword [ecx + 8], edi
mov edx, dword [edx + 0xc]
or byte [eax + 0x27], bl
mov dword [eax + 0x14], edx
add esi, 4
lea eax, [ebp - 3]
cmp esi, eax
jl 0x53eec0
cmp esi, ebp
jge 0x53f06e
mov edx, dword [esp + esi*4 + 0x1c]
mov eax, dword [edx + 0x14]
cmp eax, 0xffffffff
je 0x53f067
sub eax, 0x3b
js 0x53f067
cmp eax, 4
jge 0x53f067
lea ecx, [eax + eax*2]
add ecx, ecx
add ecx, ecx
sub ecx, eax
mov byte [esp + eax + 0x14], 1
mov eax, dword [esp + 0x10]
lea eax, [eax + ecx*4 + 0xd70]
mov edi, edx
mov ebp, dword [edi]
lea ecx, [eax + 8]
mov dword [ecx], ebp
mov ebp, dword [edi + 4]
mov dword [ecx + 4], ebp
mov edi, dword [edi + 8]
mov ebp, dword [esp + 0x18]
mov dword [ecx + 8], edi
mov edx, dword [edx + 0xc]
or byte [eax + 0x27], bl
mov dword [eax + 0x14], edx
add esi, 1
cmp esi, ebp
jl 0x53f016
xor ecx, ecx
xor edx, edx
xor edi, edi
cmp ebp, ecx
jle 0x53f10d
lea esp, [esp]
mov esi, dword [esp + edi*4 + 0x1c]
cmp dword [esi + 0x14], 0xffffffff
jne 0x53f102
cmp edx, 4
jge 0x53f10d
nop
cmp byte [esp + edx + 0x14], 0
je 0x53f0a1
add edx, 1
cmp edx, 4
jl 0x53f090
jmp 0x53f10d
cmp edx, 4
jge 0x53f10d
mov ebx, dword [esp + 0x10]
lea eax, [edx + edx*2]
add eax, eax
add eax, eax
sub eax, edx
mov byte [esp + edx + 0x14], 1
lea eax, [ebx + eax*4 + 0xd70]
add edx, 1
cmp byte [eax + 0x27], 0
jne 0x53f0dd
mov byte [eax + 0x24], 9
mov byte [eax + 0x25], 0x14
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], ecx
mov dword [eax + 0x20], ecx
mov byte [eax + 0x27], 4
mov ebx, esi
mov ebp, dword [ebx]
lea ecx, [eax + 8]
mov dword [ecx], ebp
mov ebp, dword [ebx + 4]
mov dword [ecx + 4], ebp
mov ebx, dword [ebx + 8]
mov ebp, dword [esp + 0x18]
mov dword [ecx + 8], ebx
mov ecx, dword [esi + 0xc]
or byte [eax + 0x27], 2
mov dword [eax + 0x14], ecx
xor ecx, ecx
add edi, 1
cmp edi, ebp
jl 0x53f080
mov esi, dword [esp + 0x10]
xor edi, edi
add esi, 0xd97
mov bl, 0xd6
jmp 0x53f120
cmp byte [esp + edi + 0x14], 0
jne 0x53f160
test byte [esi], 1
je 0x53f160
mov dl, byte [esi - 1]
mov ecx, 0xa331a0
push edx
call fcn.0053cc00
test eax, eax
je 0x53f15d
mov al, byte [esi - 1]
lea ecx, [esp + 0x10]
push ecx
mov ecx, 0xa331a0
mov byte [esp + 0x14], bl
mov byte [esp + 0x15], 4
mov byte [esp + 0x16], al
call fcn.0053ca60
and byte [esi], 0xfe
add edi, 1
add esi, 0x2c
cmp edi, 4
jl 0x53f120
pop edi
pop esi
mov eax, ebp
cmp ebp, 0x20
pop ebp
pop ebx
jge 0x53f189
mov edx, dword [esp + eax*4 + 0xc]
add eax, 1
cmp eax, 0x20
mov dword [edx + 0x14], 0xffffffff
jl 0x53f176
add esp, 0x8c
ret