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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x53c6de
sub esp, 0x68
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.005397e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, eax
and eax, 0x1f
cmp eax, 0xc
ja 0x53c685
cmp eax, 1
jne 0x53c646
mov eax, 1
xor ebp, ebp
xor esi, esi
test ebp, ebp
jne 0x53c62c
mov ebp, dword [esp + 0x7c]
test ebp, ebp
je 0x53c606
mov dword [esp + 0x20], eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], edx
xor esi, esi
mov edi, dword [esp + 0x78]
jmp 0x53c05f
mov eax, dword [esp + 0x58]
lea edi, [eax + 0xc]
mov eax, dword [esp + 0x30]
lea esi, [eax + 1]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x7c]
cmp esi, ebp
jge 0x53c5e4
mov dword [esp + 0x30], esi
mov dword [esp + 0x58], edi
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
mov edx, dword [edi]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.005397e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, eax
and eax, 0x1f
cmp eax, 0xc
ja 0x53c5a5
cmp eax, 1
jne 0x53c566
xor eax, eax
xor ebp, ebp
mov esi, 1
test eax, eax
jne 0x53c54c
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], edx
mov eax, dword [esp + 0x20]
cmp eax, esi
je 0x53c288
cmp eax, 3
jne 0x53c0e1
cmp esi, 6
je 0x53c1dd
cmp eax, 6
jne 0x53c1b7
cmp esi, 3
jne 0x53c1b7
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.004aac80
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
test eax, eax
sete dl
test ecx, ecx
setae cl
and ecx, edx
test eax, eax
setg al
or ecx, eax
test cl, cl
jne 0x53c14e
xor eax, eax
test al, al
je 0x53c03d
mov byte [esp + 0x84], 1
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
add esp, 0x68
ret
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x34]
mov dword [esp + 8], edx
call fcn.004ad840
mov eax, dword [esp + 0x10]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x50]
mov dword [esp], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 8], edx
call fcn.004aac80
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
cmp eax, ecx
sete al
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x24]
cmp ecx, edx
sete cl
and eax, ecx
jmp 0x53c124
mov eax, dword [0xcada60]
mov ecx, dword [0xcada64]
mov byte [esp + 0x84], 0
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
add esp, 0x68
ret
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x34]
mov dword [esp + 8], edx
call fcn.004aac80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test ecx, ecx
sete dl
test eax, eax
setae al
and eax, edx
test ecx, ecx
setg cl
or ecx, eax
test cl, cl
jne 0x53c21f
xor eax, eax
jmp 0x53c124
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x34]
mov dword [esp + 8], edx
call fcn.004aac80
mov eax, dword [esp + 0xc]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x50]
mov dword [esp], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 8], edx
call fcn.004ad840
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x28]
cmp eax, ecx
sete al
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
cmp ecx, edx
sete cl
and eax, ecx
jmp 0x53c124
cmp eax, 3
jg 0x53c3ef
cmp eax, 1
je 0x53c39a
cmp eax, 2
je 0x53c313
cmp eax, 3
jne 0x53c6c4
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x34]
mov dword [esp + 8], edx
call fcn.004aac80
mov eax, dword [esp + 0x10]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x50]
mov dword [esp], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 8], edx
call fcn.004aac80
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x3c]
cmp ecx, eax
sete al
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x28]
cmp edx, ecx
sete cl
and ecx, eax
mov eax, ecx
jmp 0x53c124
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x34]
mov dword [esp + 8], edx
call fcn.004aa240
movsd xmm0, qword [esp + 0xc]
movsd qword [esp + 0x48], xmm0
movsd xmm1, qword [esp + 0x14]
movsd qword [esp + 0x40], xmm1
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
call fcn.004aa240
movsd xmm0, qword [esp + 0xc]
movsd xmm1, qword [esp + 0x48]
ucomisd xmm1, xmm0
sete cl
setnp al
and ecx, eax
movsd xmm0, qword [esp + 0x14]
movsd xmm1, qword [esp + 0x40]
ucomisd xmm1, xmm0
sete dl
setnp al
and edx, eax
and ecx, edx
jmp 0x53c30c
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x34]
mov dword [esp + 8], edx
call fcn.004a8740
movzx eax, byte [esp + 0xc]
mov byte [esp + 0x1f], al
mov ecx, dword [esp + 0x50]
mov dword [esp], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 8], ecx
call fcn.004a8740
movzx eax, byte [esp + 0xc]
movzx ecx, byte [esp + 0x1f]
cmp cl, al
sete cl
jmp 0x53c30c
cmp eax, 4
je 0x53c4eb
cmp eax, 5
je 0x53c46f
cmp eax, 6
jne 0x53c6c4
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x34]
mov dword [esp + 8], edx
call fcn.004ad840
mov eax, dword [esp + 0x10]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x50]
mov dword [esp], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 8], edx
call fcn.004ad840
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
cmp ecx, eax
sete cl
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x24]
cmp edx, eax
sete al
and ecx, eax
jmp 0x53c30c
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x34]
mov dword [esp + 8], edx
call fcn.004ad4b0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0x50]
mov dword [esp], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 8], edx
call fcn.004ad4b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x38]
cmp edx, ecx
je 0x53c4d0
xor eax, eax
mov ecx, eax
jmp 0x53c30c
mov ecx, dword [esp + 0x64]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0044d9b0
movzx eax, byte [esp + 0xc]
jmp 0x53c4c9
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x34]
mov dword [esp + 8], edx
call fcn.004aa9d0
movsd xmm0, qword [esp + 0xc]
movsd qword [esp + 0x48], xmm0
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
call fcn.004aa9d0
movsd xmm0, qword [esp + 0xc]
movsd xmm1, qword [esp + 0x48]
ucomisd xmm1, xmm0
sete cl
setnp al
and ecx, eax
jmp 0x53c30c
mov byte [esp + 0x84], 0
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ebp
add esp, 0x68
ret
lea ebp, [eax - 2]
cmp ebp, 4
ja 0x53c57c
xor eax, eax
xor ebp, ebp
mov esi, 3
jmp 0x53c0b3
add eax, 0xfffffff9
cmp eax, 5
ja 0x53c592
xor eax, eax
xor ebp, ebp
mov esi, 6
jmp 0x53c0b3
mov eax, dword [0xcada68]
mov ebp, dword [0xcada6c]
xor esi, esi
jmp 0x53c0b3
lea ebp, [eax - 0xd]
cmp ebp, 1
ja 0x53c5bb
xor eax, eax
xor ebp, ebp
mov esi, 4
jmp 0x53c0b3
lea ebp, [eax - 0xf]
cmp ebp, 1
ja 0x53c5d1
xor eax, eax
xor ebp, ebp
mov esi, 2
jmp 0x53c0b3
cmp eax, 0x18
jne 0x53c592
xor eax, eax
xor ebp, ebp
mov esi, 5
jmp 0x53c0b3
mov byte [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
add esp, 0x68
ret
mov eax, dword [0xcada74]
mov ecx, dword [0xcada70]
mov byte [esp + 0x84], 0
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
add esp, 0x68
ret
mov byte [esp + 0x84], 0
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], esi
add esp, 0x68
ret
lea ebp, [eax - 2]
cmp ebp, 4
ja 0x53c65c
mov eax, 3
xor ebp, ebp
xor esi, esi
jmp 0x53c011
add eax, 0xfffffff9
cmp eax, 5
ja 0x53c672
mov eax, 6
xor ebp, ebp
xor esi, esi
jmp 0x53c011
mov esi, dword [0xcada6c]
mov ebp, dword [0xcada68]
xor eax, eax
jmp 0x53c011
lea ebp, [eax - 0xd]
cmp ebp, 1
ja 0x53c69b
mov eax, 4
xor ebp, ebp
xor esi, esi
jmp 0x53c011
lea ebp, [eax - 0xf]
cmp ebp, 1
ja 0x53c6b1
mov eax, 2
xor ebp, ebp
xor esi, esi
jmp 0x53c011
cmp eax, 0x18
jne 0x53c672
mov eax, 5
xor ebp, ebp
xor esi, esi
jmp 0x53c011
lea eax, [0x7cfea0]
mov dword [esp], eax
lea eax, [0x9b07f8]
mov dword [esp + 4], eax
call fcn.004278c0
ud2
call fcn.0044c200
jmp fcn.0053bfb0