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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4ff1a7
mov eax, dword fs:[0]
push eax
sub esp, 0x60
push ebx
push esi
push edi
mov eax, dword [0x54d894]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov edi, ecx
push ecx
mov esi, esp
push ecx
mov eax, esp
push 0
push 0x1005000
push eax
call fcn.0049234b
push esi
mov ecx, 0x54ea8c
call fcn.00444cf9
mov ecx, dword [ebp + 8]
call fcn.0044ba04
push 0
push 0x1005002
lea eax, [esp + 0x34]
mov ecx, edi
push eax
call fcn.0049234b
push 0
push 0x1005005
lea eax, [esp + 0x48]
mov ecx, edi
push eax
call fcn.0049234b
xor ecx, ecx
mov dword [esp + 0x20], ecx
xor eax, eax
mov dword [esp + 0x24], eax
movzx ebx, byte [eax + 0x51d430]
add ebx, ecx
cmp ebx, dword [edi + 0x100]
jl 0x423807
cmp ebx, dword [edi + 0x104]
jg 0x423807
push ebx
lea eax, [esp + 0x50]
mov ecx, edi
push eax
call fcn.00423496
mov esi, dword [edi]
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x30]
push eax
push ebx
lea ecx, [edi + 0xc4]
call fcn.0040a5a6
mov ecx, dword [edi + 0xa4]
movzx eax, al
push eax
push ebx
push dword [edi + 0xbc]
call fcn.00409eb4
movzx eax, al
mov ecx, edi
push eax
push dword [esp + 0x68]
push dword [esp + 0x68]
push dword [esp + 0x68]
push dword [esp + 0x68]
push dword [ebp + 8]
push ebx
call dword [esi + 0xac]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
inc eax
mov dword [esp + 0x24], eax
cmp eax, 7
jl 0x42378b
add ecx, 0xc
mov dword [esp + 0x20], ecx
cmp ecx, 0x80
jl 0x423785
mov eax, dword [edi + 0x1c]
xorps xmm0, xmm0
mov ebx, dword [edi + 0x18]
mov dword [esp + 0x30], eax
mov eax, dword [edi + 0xb4]
movss dword [esp + 0x1c], xmm0
movss dword [esp + 0x24], xmm0
movss dword [esp + 0x20], xmm0
mov dword [esp + 0x48], ebx
cmp eax, 1
jne 0x423878
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
movaps xmm1, xmm0
subss xmm1, dword [0x52f0e4]
subss xmm0, dword [0x52f290]
movss dword [esp + 0x1c], xmm1
jmp 0x423885
movss xmm0, dword [0x52f290]
cmp eax, 2
jne 0x42388d
movss dword [esp + 0x24], xmm0
jmp 0x423893
movss dword [esp + 0x20], xmm0
lea eax, [esp + 0x18]
mov ecx, edi
push eax
lea eax, [esp + 0x18]
push eax
push dword [edi + 0x104]
call fcn.00423438
mov eax, dword [esp + 0x18]
xor esi, esi
add dword [esp + 0x14], eax
mov ecx, edi
push esi
push 0x1005008
lea eax, [esp + 0x30]
push eax
call fcn.0049234b
movss xmm0, dword [esp + 0x20]
lea ecx, [esp + 0x28]
push esi
sub esp, 0xc
xorps xmm3, xmm3
movaps xmm2, xmm3
movss dword [esp + 8], xmm0
movss xmm0, dword [esp + 0x34]
movss dword [esp + 4], xmm0
push esp
call fcn.00444c8d
mov eax, dword [esp + 0x38]
movss xmm2, dword [esp + 0x2c]
push ecx
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x60]
call fcn.0044523e
mov dword [esp + 0x78], esi
mov esi, dword [ebp + 8]
mov ecx, esi
push eax
call fcn.0044b6bf
or dword [esp + 0x78], 0xffffffff
push dword [esp + 0x60]
call fcn.004dc624
mov eax, dword [edi + 0xb4]
pop ecx
xor ecx, ecx
sub eax, ecx
je 0x42394f
dec eax
je 0x423942
dec eax
jne 0x42395e
push dword [esp + 0x14]
push 5
jmp 0x423955
push dword [esp + 0x14]
lea eax, [ebx - 5]
push 5
push ecx
push eax
jmp 0x423957
push 5
push dword [esp + 0x18]
push ecx
push ecx
mov ecx, esi
call fcn.0044b9ac
mov eax, dword [esp + 0x2c]
push ecx
mov ecx, esp
mov dword [ecx], eax
mov ecx, esi
call fcn.0044b67d
mov eax, dword [edi + 0xb4]
xor ecx, ecx
sub eax, ecx
je 0x423996
dec eax
je 0x42398d
dec eax
jne 0x4239aa
push dword [esp + 0x14]
lea eax, [ebx - 1]
push 1
push ecx
push eax
jmp 0x4239a3
push dword [esp + 0x14]
push 1
push ecx
jmp 0x4239a2
mov eax, dword [esp + 0x30]
push 1
push dword [esp + 0x18]
dec eax
push eax
push ecx
mov ecx, esi
call fcn.0044b9ac
push 0
push 0x1005001
lea eax, [esp + 0x4c]
mov ecx, edi
push eax
call fcn.0049234b
xor ecx, ecx
mov dword [esp + 0x3c], ecx
xor eax, eax
mov dword [esp + 0x38], eax
movzx eax, byte [eax + 0x51d43c]
add eax, ecx
mov dword [esp + 0x34], eax
cmp eax, dword [edi + 0x100]
jl 0x423ae5
cmp eax, dword [edi + 0x104]
jg 0x423ae5
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x18]
push ecx
push eax
mov ecx, edi
call fcn.00423438
mov eax, dword [edi + 0xb4]
xorps xmm0, xmm0
movdqu xmmword [esp + 0x4c], xmm0
sub eax, 0
je 0x423a74
dec eax
je 0x423a5a
dec eax
jne 0x423a3c
and dword [esp + 0x24], eax
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
sub ebx, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
sub ebx, eax
mov eax, dword [edi + 0xac]
mov dword [esp + 0x20], eax
jmp 0x423a90
mov eax, dword [esp + 0x58]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x24], eax
jmp 0x423a90
mov ecx, dword [edi + 0xac]
sub ebx, ecx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x20], ecx
jmp 0x423a8c
mov eax, dword [esp + 0x14]
xor ebx, ebx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0xac]
mov dword [esp + 0x1c], eax
mov esi, dword [edi]
lea eax, [esp + 0x44]
push eax
push dword [esp + 0x38]
lea ecx, [edi + 0xc4]
call fcn.0040a5a6
mov edx, dword [esp + 0x38]
mov ecx, dword [edi + 0xa4]
movzx eax, al
push eax
push edx
push dword [edi + 0xbc]
call fcn.00409eb4
movzx eax, al
mov ecx, edi
push eax
push dword [esp + 0x28]
push dword [esp + 0x30]
push ebx
push dword [esp + 0x3c]
push dword [ebp + 8]
push edx
call dword [esi + 0xb0]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x38]
inc eax
mov dword [esp + 0x38], eax
cmp eax, 5
jl 0x4239c9
add ecx, 0xc
mov dword [esp + 0x3c], ecx
cmp ecx, 0x80
jl 0x4239c3
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4