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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xb0
movd eax, xmm0
mov dword [esp], edx
mov dword [esp + 4], ecx
mov edx, eax
mov edi, eax
mov ebx, eax
shr edx, 0x17
and edi, 0x7fffff
movzx esi, dl
lea edx, [eax + eax]
or edi, 0x800000
and edx, 0xfffffe
test esi, esi
cmove edi, edx
and ebx, 0x7fffffff
cmp ebx, 0x7f800000
jne 0x417fc2
mov bl, 3
jmp 0x417fdf
ucomiss xmm0, xmm0
jp 0x418280
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x418116
jp 0x418116
mov bl, 4
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 1
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], ecx
mov word [esp + 0x90], si
mov byte [esp + 0x92], bl
add bl, 0xfe
je 0x41808a
movzx edx, bl
cmp bl, 3
mov ecx, 3
mov esi, eax
mov ebx, 1
mov edi, 0x5a24fe
cmovb ecx, edx
shr esi, 0x1f
test eax, eax
mov eax, 0x5a24fd
cmovs ebx, eax
cmovs edi, eax
cmp byte [esp], 0
mov eax, 1
cmove edi, ebx
cmovne esi, eax
cmp cl, 1
je 0x4180b6
mov ebx, dword [esp + 4]
movzx eax, cl
cmp eax, 2
jne 0x4180d6
mov eax, 1
mov word [esp + 0x30], 2
mov dword [esp + 0x34], 0x5a2506
mov dword [esp + 0x38], 3
jmp 0x418235
mov ebx, dword [esp + 4]
mov word [esp + 0x30], 2
mov dword [esp + 0x34], 0x5a24ff
mov dword [esp + 0x38], 3
mov edi, 1
xor esi, esi
mov eax, 1
jmp 0x418235
mov ebx, dword [esp + 4]
mov word [esp + 0x30], 2
mov dword [esp + 0x34], 0x5a2502
mov dword [esp + 0x38], 3
jmp 0x418235
lea eax, [esp + 0x9b]
lea ecx, [esp + 8]
lea edx, [esp + 0x78]
push eax
call fcn.00410670
add esp, 4
cmp dword [esp + 8], 0
je 0x41814e
mov eax, dword [esp + 0x10]
movsd xmm0, qword [esp + 8]
mov dword [esp + 0x20], eax
movsd qword [esp + 0x18], xmm0
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x418172
jmp 0x418287
mov ebx, edi
and ebx, 1
test eax, 0x7f800000
je 0x41825c
cmp edi, 0x800000
jne 0x418266
movzx esi, si
xor ecx, ecx
mov edx, 2
mov edi, 0x2000000
mov bl, 1
add esi, 0xffffff68
jmp 0x417fdf
lea eax, [esp + 0x9b]
lea ecx, [esp + 0x18]
lea edx, [esp + 0x78]
push eax
call fcn.0040e940
add esp, 4
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x418287
mov ecx, dword [esp + 0x18]
cmp byte [ecx], 0x30
jbe 0x418287
movzx edx, word [esp + 0x20]
cmp eax, 1
mov word [esp + 0x30], 2
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], 1
mov dword [esp + 0x2c], esi
jne 0x4181ae
lea eax, [esp + 0x3c]
mov dword [esp], eax
mov eax, 1
jmp 0x4181e2
lea ebx, [esp + 0x54]
inc ecx
dec eax
mov word [esp + 0x3c], 2
mov dword [esp + 0x40], 0x5bbc4b
mov dword [esp + 0x44], 1
mov word [esp + 0x48], 2
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], eax
mov dword [esp], ebx
mov eax, 3
mov esi, 1
xor ecx, ecx
mov ebx, 0x5a24fa
mov dword [esp + 0x28], edx
sub esi, edx
test dx, dx
mov edx, 0x5a24fb
cmovle ebx, edx
mov edx, dword [esp + 0x28]
setle cl
lea edx, [edx - 1]
cmovle edx, esi
mov esi, dword [esp]
inc ecx
mov word [esi], 2
mov dword [esi + 4], ebx
mov dword [esi + 8], ecx
mov ebx, dword [esp + 4]
mov esi, dword [esp + 0x2c]
lea ecx, [eax + eax*2]
add eax, 2
mov word [esp + ecx*4 + 0x3c], 1
mov word [esp + ecx*4 + 0x3e], dx
lea ecx, [esp + 0x30]
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
lea edx, [esp + 8]
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.00418290
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
add esi, 0xffffff6a
xor ecx, ecx
jmp 0x418273
movzx esi, si
add edi, edi
xor ecx, ecx
add esi, 0xffffff69
xor bl, 1
mov edx, 1
jmp 0x417fdf
mov bl, 2
jmp 0x417fdf
ud2