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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x194
mov al, byte [0x745848]
push ebx
push esi
push edi
push 1
mov byte [esp + 0x1b], al
mov eax, dword [0x745834]
mov edi, ecx
mov ecx, dword [eax]
push 0xf
push eax
mov dword [esp + 0x48], edi
call dword [ecx + 0xc8]
movzx edx, word [edi]
mov ebx, dword [ebp + 8]
xorps xmm0, xmm0
movaps xmmword [esp + 0x70], xmm0
movaps xmm0, xmmword [edi + 0x30]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xff
movss xmm0, dword [0x68b500]
movss dword [esp + 0x40], xmm0
movss xmm0, dword [0x68b500]
push edx
mov edx, dword [ebp + 0x10]
movss dword [esp + 0x48], xmm0
movss xmm0, dword [0x68b500]
lea eax, [esp + 0x74]
push eax
movaps xmmword [esp + 0x58], xmm1
movss dword [esp + 0x50], xmm0
movss xmm0, dword [esp + 0x58]
lea ecx, [esp + 0x58]
push ecx
movss dword [esp + 0x58], xmm0
movaps xmm0, xmmword [esp + 0x4c]
push edx
mov ecx, ebx
movaps xmmword [esp + 0x60], xmm0
call fcn.005f9470
mov eax, dword [ebx + 0x564]
test eax, eax
jle 0x614ab2
movaps xmm0, xmmword [ebx + 0xb0]
fld dword [0x68b500]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xff
movaps xmmword [esp + 0x50], xmm1
fld dword [esp + 0x50]
fucompp
fnstsw ax
test ah, 0x44
jp 0x614ab2
lea eax, [esp + 0xa0]
push eax
lea ecx, [ebx + 0x160]
call fcn.00602980
mov eax, dword [ebx + 0x564]
dec eax
cmp eax, 3
ja case.default.0x6145df
jmp dword [eax*4 + 0x615788]
movaps xmm0, xmmword [ebx + 0x5a0]
movaps xmm2, xmmword [esp + 0xd0]
movaps xmm4, xmmword [esp + 0xc0]
movaps xmm1, xmmword [ebx + 0x580]
movaps xmm3, xmm0
shufps xmm3, xmm0, 0xaa
mulps xmm4, xmm3
movaps xmm3, xmmword [esp + 0xb0]
addps xmm4, xmm2
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x55
mulps xmm3, xmm2
movaps xmm2, xmm0
shufps xmm2, xmm0, 0
movaps xmm0, xmmword [esp + 0xa0]
mulps xmm0, xmm2
movss xmm2, dword [0x68b500]
movss dword [esp + 0x20], xmm2
movss xmm2, dword [0x68b4fc]
movss dword [esp + 0x24], xmm2
movss xmm2, dword [0x68b4fc]
movss dword [esp + 0x28], xmm2
movss xmm2, dword [0x68b4fc]
movss dword [esp + 0x2c], xmm2
movaps xmm2, xmmword [esp + 0x20]
addps xmm3, xmm4
addps xmm0, xmm3
shufps xmm2, xmm0, 0xe0
shufps xmm0, xmm2, 0x24
push 1
lea ecx, [esp + 0x44]
movaps xmm2, xmm1
push ecx
shufps xmm2, xmm1, 0xaa
shufps xmm2, xmm0, 0xe0
shufps xmm0, xmm2, 0x24
push 9
mov ecx, 0x745830
movaps xmmword [esp + 0x4c], xmm0
call fcn.00554d70
movaps xmm0, xmmword [ebx + 0x570]
push 1
lea edx, [esp + 0x54]
movaps xmmword [esp + 0x54], xmm0
push edx
jmp 0x614a83
movaps xmm0, xmmword [ebx + 0x5a0]
movaps xmm2, xmmword [esp + 0xd0]
movaps xmm4, xmmword [esp + 0xc0]
movaps xmm1, xmmword [ebx + 0x580]
movaps xmm3, xmm0
shufps xmm3, xmm0, 0xaa
mulps xmm4, xmm3
movaps xmm3, xmmword [esp + 0xb0]
addps xmm4, xmm2
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x55
mulps xmm3, xmm2
movaps xmm2, xmm0
shufps xmm2, xmm0, 0
movaps xmm0, xmmword [esp + 0xa0]
mulps xmm0, xmm2
movss xmm2, dword [0x68b500]
movss dword [esp + 0x20], xmm2
movss xmm2, dword [0x68b4fc]
movss dword [esp + 0x24], xmm2
movss xmm2, dword [0x68b4fc]
movss dword [esp + 0x28], xmm2
movss xmm2, dword [0x68b4fc]
movss dword [esp + 0x2c], xmm2
movaps xmm2, xmmword [esp + 0x20]
movaps xmmword [esp + 0x20], xmm2
addps xmm3, xmm4
addps xmm0, xmm3
shufps xmm2, xmm0, 0xe0
shufps xmm0, xmm2, 0x24
push 1
lea eax, [esp + 0x44]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xaa
push eax
shufps xmm2, xmm0, 0xe0
shufps xmm0, xmm2, 0x24
push 0x10
mov ecx, 0x745830
movaps xmmword [esp + 0x4c], xmm0
call fcn.00554d70
movaps xmm0, xmmword [ebx + 0x570]
push 1
lea ecx, [esp + 0x74]
push ecx
push 0x11
mov ecx, 0x745830
movaps xmmword [esp + 0x7c], xmm0
call fcn.00554d70
movaps xmm0, xmmword [ebx + 0x5e0]
movaps xmm1, xmmword [esp + 0xd0]
movaps xmm4, xmmword [esp + 0xc0]
movaps xmm2, xmmword [ebx + 0x5c0]
movaps xmm3, xmm0
shufps xmm3, xmm0, 0xaa
mulps xmm4, xmm3
movaps xmm3, xmmword [esp + 0xb0]
addps xmm4, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
mulps xmm3, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0
movaps xmm0, xmmword [esp + 0xa0]
mulps xmm0, xmm1
movaps xmm1, xmmword [esp + 0x20]
addps xmm3, xmm4
addps xmm0, xmm3
shufps xmm1, xmm0, 0xe0
shufps xmm0, xmm1, 0x24
push 1
lea edx, [esp + 0x44]
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xaa
push edx
shufps xmm1, xmm0, 0xe0
shufps xmm0, xmm1, 0x24
push 9
mov ecx, 0x745830
movaps xmmword [esp + 0x4c], xmm0
call fcn.00554d70
movaps xmm0, xmmword [ebx + 0x5b0]
movaps xmmword [esp + 0x90], xmm0
lea eax, [esp + 0x90]
jmp 0x614a80
movaps xmm0, xmmword [ebx + 0x5a0]
movaps xmm2, xmmword [esp + 0xd0]
movaps xmm4, xmmword [esp + 0xc0]
movaps xmm1, xmmword [ebx + 0x580]
movaps xmm3, xmm0
shufps xmm3, xmm0, 0xaa
mulps xmm4, xmm3
movaps xmm3, xmmword [esp + 0xb0]
addps xmm4, xmm2
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x55
mulps xmm3, xmm2
movaps xmm2, xmm0
shufps xmm2, xmm0, 0
movaps xmm0, xmmword [esp + 0xa0]
mulps xmm0, xmm2
movss xmm2, dword [0x68b500]
movss dword [esp + 0x20], xmm2
movss xmm2, dword [0x68b4fc]
movss dword [esp + 0x24], xmm2
movss xmm2, dword [0x68b4fc]
movss dword [esp + 0x28], xmm2
movss xmm2, dword [0x68b4fc]
movss dword [esp + 0x2c], xmm2
movaps xmm2, xmmword [esp + 0x20]
movaps xmmword [esp + 0x20], xmm2
addps xmm3, xmm4
addps xmm0, xmm3
shufps xmm2, xmm0, 0xe0
shufps xmm0, xmm2, 0x24
push 1
lea ecx, [esp + 0x44]
movaps xmm2, xmm1
push ecx
shufps xmm2, xmm1, 0xaa
shufps xmm2, xmm0, 0xe0
shufps xmm0, xmm2, 0x24
push 0xe
mov ecx, 0x745830
movaps xmmword [esp + 0x4c], xmm0
call fcn.00554d70
movaps xmm0, xmmword [ebx + 0x570]
push 1
lea edx, [esp + 0xe4]
push edx
push 0xf
mov ecx, 0x745830
movaps xmmword [esp + 0xec], xmm0
call fcn.00554d70
movaps xmm0, xmmword [ebx + 0x5e0]
movaps xmm2, xmmword [esp + 0xd0]
movaps xmm4, xmmword [esp + 0xc0]
movaps xmm1, xmmword [ebx + 0x5c0]
movaps xmm3, xmm0
shufps xmm3, xmm0, 0xaa
mulps xmm4, xmm3
movaps xmm3, xmmword [esp + 0xb0]
addps xmm4, xmm2
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x55
mulps xmm3, xmm2
movaps xmm2, xmm0
shufps xmm2, xmm0, 0
movaps xmm0, xmmword [esp + 0xa0]
mulps xmm0, xmm2
movaps xmm2, xmmword [esp + 0x20]
addps xmm3, xmm4
addps xmm0, xmm3
shufps xmm2, xmm0, 0xe0
shufps xmm0, xmm2, 0x24
push 1
lea eax, [esp + 0x44]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xaa
push eax
shufps xmm2, xmm0, 0xe0
shufps xmm0, xmm2, 0x24
push 0x10
mov ecx, 0x745830
movaps xmmword [esp + 0x4c], xmm0
call fcn.00554d70
movaps xmm0, xmmword [ebx + 0x5b0]
push 1
lea ecx, [esp + 0x104]
push ecx
push 0x11
mov ecx, 0x745830
movaps xmmword [esp + 0x10c], xmm0
call fcn.00554d70
movaps xmm0, xmmword [ebx + 0x620]
movaps xmm1, xmmword [esp + 0xd0]
movaps xmm4, xmmword [esp + 0xc0]
movaps xmm2, xmmword [ebx + 0x600]
movaps xmm3, xmm0
shufps xmm3, xmm0, 0xaa
mulps xmm4, xmm3
movaps xmm3, xmmword [esp + 0xb0]
addps xmm4, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
mulps xmm3, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0
movaps xmm0, xmmword [esp + 0xa0]
mulps xmm0, xmm1
movaps xmm1, xmmword [esp + 0x20]
addps xmm3, xmm4
addps xmm0, xmm3
shufps xmm1, xmm0, 0xe0
shufps xmm0, xmm1, 0x24
push 1
lea edx, [esp + 0x44]
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xaa
push edx
shufps xmm1, xmm0, 0xe0
shufps xmm0, xmm1, 0x24
push 9
mov ecx, 0x745830
movaps xmmword [esp + 0x4c], xmm0
call fcn.00554d70
movaps xmm0, xmmword [ebx + 0x5f0]
movaps xmmword [esp + 0xf0], xmm0
lea eax, [esp + 0xf0]
push 1
push eax
mov ecx, 0x745830
push 0xa
call fcn.00554d70
mov eax, dword [ebx + 0x564]
dec eax
cmp eax, 2
jle 0x614aa0
mov eax, 2
lea ecx, [eax + eax*2]
mov eax, dword [ecx*8 + 0x7459c0]
cmp eax, dword [0x745e88]
jmp 0x614abd
mov eax, dword [0x7459a8]
cmp dword [0x745e88], eax
je 0x614ad4
mov ecx, dword [0x745834]
push eax
mov dword [0x745e88], eax
mov edx, dword [ecx]
push ecx
call dword [edx + pe_nt_image_headers32]
mov eax, dword [edi + 4]
mov esi, 0xff
test esi, eax
jle 0x614ae7
mov eax, dword [edi + 0xc]
mov ecx, dword [eax]
jmp 0x614aea
mov ecx, dword [edi + 0xc]
movzx edi, byte [edi + 6]
mov eax, dword [0x745834]
mov edx, dword [eax]
push edi
push ecx
push 0
push eax
call dword [edx + 0x14c]
mov edx, dword [esp + 0x3c]
test dword [edx + 0x10], esi
jle 0x614b10
mov eax, dword [edx + 0x18]
mov ecx, dword [eax]
jmp 0x614b13
mov ecx, dword [edx + 0x18]
movzx edx, byte [edx + 0x12]
mov eax, dword [0x745834]
mov edi, dword [eax]
push edx
push ecx
push 1
push eax
call dword [edi + 0x14c]
mov edi, dword [esp + 0x3c]
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x614b5f
test byte [edi + 1], 0x10
je 0x614b5f
test dword [eax], esi
jle 0x614b45
mov ecx, dword [eax + 8]
mov edx, dword [ecx]
jmp 0x614b48
mov edx, dword [eax + 8]
movzx eax, byte [eax + 2]
mov ecx, dword [0x745834]
mov esi, dword [ecx]
push eax
push edx
push 2
push ecx
call dword [esi + 0x14c]
xor ecx, ecx
mov dword [esp + 0x6c], ecx
jmp 0x614b70
mov al, byte [edi + 3]
test al, al
mov dword [esp + 0x18], 0
jbe 0x615749
test byte [edi], 4
je 0x614b95
mov edx, dword [esp + 0x18]
shl edx, 5
lea esi, [edx + edi + 0x50]
jmp 0x614ba0
mov eax, dword [esp + 0x18]
lea eax, [eax + eax*2]
lea esi, [edi + eax*8 + 0x40]
xor eax, eax
mov ax, word [esi]
test ah, ah
js 0x615734
and eax, 0x20c0
jne 0x614bbc
test ecx, ecx
jne 0x615734
test ax, ax
je 0x614be9
test ecx, ecx
mov eax, dword [0x745834]
jne 0x614bdc
mov ecx, dword [eax]
push 0x80
push 0x18
push eax
call dword [ecx + 0xc8]
jmp 0x614be9
mov edx, dword [eax]
push 0
push 0xe
push eax
call dword [edx + 0xc8]
mov cx, word [esi]
test ch, 0x40
je 0x614c08
mov eax, dword [ebp + 0x14]
movzx edx, byte [eax]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x68]
lea edx, [eax + edx*4]
mov eax, dword [esi + 8]
mov eax, dword [edx + eax]
jmp 0x614c0b
mov eax, dword [esi + 8]
movzx ecx, cx
push ecx
push eax
mov ecx, ebx
call fcn.005f93a0
xor ecx, ecx
mov cx, word [esi]
mov eax, ecx
and eax, 0xc0
cmp eax, 0xc0
mov dword [esp + 0x88], eax
jne 0x614d40
test cl, 1
je 0x614d17
test ch, 0x40
jne 0x614d17
mov al, byte [esi + 0xb]
cmp al, 0x80
jae 0x614d17
movzx edi, al
shl edi, 1
cmp edi, 0xff
jl 0x614c64
mov edi, 0xff
movzx eax, byte [esi + 8]
shl eax, 1
cmp eax, 0xff
jle 0x614c76
mov eax, 0xff
movzx edx, byte [esi + 9]
shl edx, 1
cmp edx, 0xff
jle 0x614c89
mov edx, 0xff
movzx ecx, byte [esi + 0xa]
shl ecx, 1
cmp ecx, 0xff
jle 0x614c9c
mov ecx, 0xff
mov ebx, dword [0x745834]
mov ebx, dword [ebx]
and eax, 0xff
shl edi, 8
or eax, edi
shl eax, 8
and edx, 0xff
or eax, edx
mov edx, dword [0x745834]
shl eax, 8
and ecx, 0xff
or eax, ecx
push eax
push 0x3c
push edx
call dword [ebx + 0xc8]
mov eax, dword [0x745834]
mov ecx, dword [eax]
push 2
push 5
push 0
push eax
call dword [ecx + 0xfc]
mov eax, dword [0x745834]
mov edx, dword [eax]
push 3
push 6
push 0
push eax
call dword [edx + 0xfc]
mov eax, dword [0x745834]
mov ecx, dword [eax]
push 4
push 4
push 0
push eax
call dword [ecx + 0xfc]
mov edi, dword [esp + 0x3c]
mov ebx, dword [ebp + 8]
mov eax, dword [0x745834]
mov edx, dword [eax]
push 5
push 0x13
push eax
call dword [edx + 0xc8]
mov eax, dword [0x745834]
mov ecx, dword [eax]
push 6
push 0x14
push eax
call dword [ecx + 0xc8]
jmp 0x614ecc
cmp eax, 0x40
jne 0x614e5e
mov eax, dword [0x745834]
mov edx, dword [eax]
push 2
push 0x13
push eax
call dword [edx + 0xc8]
mov eax, dword [0x745834]
mov ecx, dword [eax]
push 2
push 0x14
push eax
call dword [ecx + 0xc8]
mov eax, dword [0x745834]
mov edx, dword [eax]
push 0
push 3
push 0
push eax
call dword [edx + 0xfc]
mov eax, dword [0x745834]
mov ecx, dword [eax]
push 2
push 2
push 0
push eax
call dword [ecx + 0xfc]
mov eax, dword [0x745834]
mov edx, dword [eax]
push 4
push 1
push 0
push eax
call dword [edx + 0xfc]
mov eax, dword [0x745834]
mov ecx, dword [eax]
push 1
push 1
push 1
push eax
call dword [ecx + 0xfc]
mov eax, dword [0x745834]
mov edx, dword [eax]
push 1
push 4
push 1
push eax
call dword [edx + 0xfc]
mov eax, dword [0x745834]
mov ecx, dword [eax]
push 0
push 0xe
push eax
call dword [ecx + 0xc8]
movzx edx, byte [esi + 0xb]
movaps xmm1, xmmword [ebx + 0xb0]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xff
movaps xmmword [esp + 0xf0], xmm2
mov eax, dword [esp + 0xf0]
fmul dword [0x68cfd0]
mov dword [esp + 0x8c], eax
mov eax, dword [0x745834]
lea ecx, [esp + 0x8c]
fstp dword [esp + 0x10]
movss xmm1, dword [ecx]
movss xmm0, dword [esp + 0x10]
push 1
lea ecx, [esp + 0x104]
shufps xmm0, xmm0, 0
push ecx
shufps xmm1, xmm0, 0xe0
shufps xmm0, xmm1, 0x24
push 0x12
movaps xmmword [esp + 0x10c], xmm0
mov edx, dword [eax]
push eax
call dword [edx + 0x13c]
jmp 0x614ecc
movaps xmm0, xmmword [ebx + 0xb0]
fld dword [0x68b500]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xff
movaps xmmword [esp + 0xe0], xmm1
fld dword [esp + 0xe0]
fucompp
fnstsw ax
test ah, 0x44
jp 0x614ecc
test ch, 0x40
jne 0x614ecc
mov eax, dword [0x745834]
mov edx, dword [eax]
push 0
push 0xf
push eax
call dword [edx + 0xc8]
mov eax, dword [0x745834]
mov ecx, dword [eax]
push 0
push 0x1b
push eax
call dword [ecx + 0xc8]
test byte [esi], 0x20
je 0x614ecc
mov eax, dword [0x745834]
mov edx, dword [eax]
push 2
push 1
push 0
push eax
call dword [edx + 0xfc]
test byte [esi], 2
jne 0x614ee3
mov eax, dword [0x745834]
mov ecx, dword [eax]
push 1
push 0x16
push eax
call dword [ecx + 0xc8]
mov eax, dword [esp + 0x18]
mov cl, byte [edi]
inc eax
test cl, 4
mov byte [esp + 0x16], 0
je 0x614eff
mov edx, eax
shl edx, 5
lea edi, [edx + edi + 0x50]
jmp 0x614f06
lea ecx, [eax + eax*2]
lea edi, [edi + ecx*8 + 0x40]
mov cx, word [edi]
test ch, ch
jns 0x615312
mov dx, word [esi + 6]
cmp dx, word [edi + 6]
jne 0x615312
mov dl, byte [esp + 0x17]
test dl, dl
je 0x615312
test ch, 1
je 0x614f35
mov byte [esp + 0x16], 1
mov dword [esp + 0x18], eax
mov al, byte [esp + 0x16]
test al, al
je 0x615312
mov edx, dword [0x745e28]
mov eax, dword [0x745834]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x160]
mov eax, dword [0x745834]
mov ecx, dword [eax]
push 1
add ebx, 0x80
push ebx
push 0
push eax
call dword [ecx + 0x16c]
lea edx, [esp + 0x110]
push edx
lea ecx, [edi + 8]
call fcn.0046b1e0
mov al, byte [edi + 0xb]
movaps xmm0, xmmword [esp + 0x110]
and al, 0xf
movzx ecx, al
mov eax, dword [0x745834]
mov dword [esp + 0x10], ecx
lea edx, [esp + 0x10]
fild dword [esp + 0x10]
push 1
fmul dword [0x68fc68]
fstp dword [esp + 0x14]
movss xmm1, dword [edx]
lea edx, [esp + 0x194]
push edx
shufps xmm1, xmm0, 0xe0
shufps xmm0, xmm1, 0x24
push 0x13
movaps xmmword [esp + 0x19c], xmm0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x13c]
mov ax, word [esi]
test ah, 0x40
je 0x614ffa
mov ecx, dword [ebp + 0x14]
movzx edx, byte [ecx]
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x68]
lea edx, [ecx + edx*4]
mov ecx, dword [esi + 8]
mov edx, dword [edx + ecx]
mov dword [esp + 0x10], edx
jmp 0x615001
mov ecx, dword [esi + 8]
mov dword [esp + 0x10], ecx
mov bx, word [esp + 0x12]
test ah, 8
mov eax, dword [0x745834]
push 1
je 0x61506d
movzx edx, bh
mov dword [esp + 0x20], edx
lea edx, [esp + 0x164]
fild dword [esp + 0x20]
fmul dword [0x68cfd0]
fstp dword [esp + 0x20]
movss xmm0, dword [esp + 0x20]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [esp + 0x20]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [esp + 0x20]
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [esp + 0x20]
movss dword [esp + 0x30], xmm0
movaps xmm0, xmmword [esp + 0x24]
movaps xmmword [esp + 0x164], xmm0
jmp 0x6150b9
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x44], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x48], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x4c], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x50], xmm0
movaps xmm0, xmmword [esp + 0x44]
movaps xmmword [esp + 0x144], xmm0
lea edx, [esp + 0x144]
mov ecx, dword [eax]
push edx
push 1
push eax
call dword [ecx + 0x16c]
movss xmm0, dword [0x68b500]
mov ax, word [esi]
test ah, 0x40
movss dword [esp + 0x90], xmm0
movss xmm0, dword [0x68b500]
movss dword [esp + 0x94], xmm0
movss xmm0, dword [0x68b500]
movss dword [esp + 0x98], xmm0
movss xmm0, dword [0x68b500]
movss dword [esp + 0x9c], xmm0
movaps xmm0, xmmword [esp + 0x90]
movaps xmmword [esp + 0x50], xmm0
je 0x6151b1
mov eax, dword [esp + 0x10]
movzx ecx, al
mov dword [esp + 0x10], ecx
movzx edx, ah
fild dword [esp + 0x10]
movzx eax, bl
fmul dword [0x68cfd0]
movzx ecx, bh
fstp dword [esp + 0x10]
movss xmm0, dword [esp + 0x10]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
movss dword [esp + 0x70], xmm0
fmul dword [0x68cfd0]
fstp dword [esp + 0x10]
movss xmm0, dword [esp + 0x10]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
movss dword [esp + 0x74], xmm0
fmul dword [0x68cfd0]
fstp dword [esp + 0x10]
movss xmm0, dword [esp + 0x10]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
movss dword [esp + 0x78], xmm0
fmul dword [0x68cfd0]
fstp dword [esp + 0x10]
movss xmm0, dword [esp + 0x10]
movss dword [esp + 0x7c], xmm0
movaps xmm0, xmmword [esp + 0x70]
jmp 0x6151eb
mov dl, al
and dl, 0xc0
cmp dl, 0xc0
jne 0x6151f0
test al, 1
je 0x6151f0
mov al, byte [esi + 0xb]
cmp al, 0x80
jae 0x6151f0
movzx eax, al
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x10]
fild dword [esp + 0x10]
fmul dword [0x68cfd0]
fstp dword [esp + 0x10]
movss xmm1, dword [ecx]
shufps xmm1, xmm0, 0xe0
shufps xmm0, xmm1, 0x24
movaps xmmword [esp + 0x50], xmm0
mov eax, dword [0x745834]
mov edx, dword [eax]
push 1
lea ecx, [esp + 0x54]
push ecx
push 2
push eax
call dword [edx + 0x16c]
mov eax, dword [0x745834]
mov edx, dword [eax]
push 1
push 0x1d
push eax
call dword [edx + 0xc8]
mov ecx, dword [edi + 0x14]
push 0
call fcn.005f4ca0
mov ecx, dword [esi + 0x14]
push 1
call fcn.005f4ca0
mov ecx, dword [0x74a7c0]
push 2
add ecx, 0x14
call fcn.005f4ca0
mov eax, dword [0x745d08]
cmp eax, dword [0x745e88]
je 0x61525f
mov ecx, dword [0x745834]
push eax
mov dword [0x745e88], eax
mov edx, dword [ecx]
push ecx
call dword [edx + pe_nt_image_headers32]
mov ebx, dword [ebp + 8]
movaps xmm2, xmmword [ebx + 0x170]
movaps xmm1, xmmword [ebx + 0x160]
movaps xmm4, xmmword [ebx + 0x190]
mov eax, dword [0x745834]
movaps xmm0, xmm1
shufps xmm1, xmm2, 0xee
shufps xmm0, xmm2, 0x44
movaps xmm3, xmm1
movaps xmm1, xmmword [ebx + 0x180]
movaps xmm2, xmm1
shufps xmm2, xmm4, 0x44
shufps xmm1, xmm4, 0xee
movaps xmm5, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm2, 0x88
shufps xmm0, xmm2, 0xdd
movaps xmm2, xmm3
shufps xmm2, xmm5, 0x88
shufps xmm3, xmm5, 0xdd
movaps xmm4, xmm0
movaps xmm0, xmmword [ebx + 0x1d0]
movaps xmm5, xmm0
shufps xmm5, xmm0, 0xff
mulps xmm3, xmm5
movaps xmm5, xmm0
shufps xmm5, xmm0, 0xaa
mulps xmm2, xmm5
addps xmm2, xmm3
movaps xmm3, xmm0
shufps xmm3, xmm0, 0x55
push 1
mulps xmm4, xmm3
addps xmm4, xmm2
lea edx, [esp + 0x184]
movaps xmm2, xmm0
push edx
shufps xmm2, xmm0, 0
mulps xmm1, xmm2
addps xmm1, xmm4
push 0xa
movaps xmmword [esp + 0x18c], xmm1
mov ecx, dword [eax]
push eax
call dword [ecx + 0x13c]
jmp 0x6153c4
movaps xmm0, xmmword [ebx + 0xb0]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xff
movaps xmmword [esp + 0x120], xmm1
fld dword [esp + 0x120]
fcomp dword [0x68b500]
fnstsw ax
test ah, 5
jp 0x61535a
mov al, byte [0x6d0ef2]
test al, al
je 0x61535a
mov eax, dword [0x745834]
mov ecx, dword [eax]
push 0
push 0xa8
push eax
call dword [ecx + 0xc8]
movaps xmm0, xmmword [ebx + 0xb0]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xff
movaps xmmword [esp + 0x130], xmm1
fld dword [esp + 0x130]
fcomp dword [0x68b500]
fnstsw ax
test ah, 5
jnp 0x61538f
test byte [esi], 1
je 0x61538f
cmp byte [esi + 0xb], 0x80
jne 0x6153b7
mov eax, dword [0x745834]
mov edx, dword [eax]
push 0
push 6
push 0
push eax
call dword [edx + 0xfc]
mov eax, dword [0x745834]
mov ecx, dword [eax]
push 4
push 4
push 0
push eax
call dword [ecx + 0xfc]
mov ecx, dword [esi + 0x14]
push 0
call fcn.005f4ca0
mov ebx, dword [ebp + 8]
mov al, byte [0x74a7cc]
test al, al
je 0x6153f1
push 0
xor ecx, ecx
call fcn.005f4ca0
push 1
xor ecx, ecx
call fcn.005f4ca0
push 2
xor ecx, ecx
call fcn.005f4ca0
push 3
xor ecx, ecx
call fcn.005f4ca0
mov edi, dword [esp + 0x3c]
test byte [edi], 4
je 0x615478
mov ax, word [esi + 0x1c]
test ah, 1
je 0x61544a
movzx ecx, word [esi + 4]
mov eax, dword [0x745834]
mov edx, dword [eax]
push ecx
mov ecx, dword [edi + 0x48]
push ecx
push eax
call dword [edx + 0x154]
movzx ecx, word [esi + 0x10]
push ecx
movzx ecx, word [esi + 0x18]
mov eax, dword [0x745834]
push ecx
movzx ecx, word [esi + 6]
mov edx, dword [eax]
push ecx
movzx ecx, word [esi + 0xe]
push ecx
xor ecx, ecx
mov cl, byte [esi + 0x1c]
and ecx, 0xff
push ecx
push eax
call dword [edx + 0x11c]
jmp 0x61546c
movzx ebx, word [esi + 0x10]
mov ecx, dword [0x745834]
mov edx, dword [ecx]
push ebx
movzx ebx, word [esi + 0xe]
push ebx
and eax, 0xff
push eax
push ecx
call dword [edx + 0x118]
mov ebx, dword [ebp + 8]
movzx eax, word [esi + 0x10]
add dword [0x6f22dc], eax
jmp 0x6154a9
movzx edx, word [esi + 6]
mov eax, dword [0x745834]
mov ecx, dword [eax]
sub edx, 2
push edx
movzx edx, word [esi + 0xe]
push edx
push 5
push eax
call dword [ecx + 0x118]
movzx eax, word [esi + 6]
mov ecx, dword [0x6f22dc]
lea edx, [ecx + eax - 2]
mov dword [0x6f22dc], edx
inc dword [0x6f22e4]
movaps xmm0, xmmword [ebx + 0xb0]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xff
movaps xmmword [esp + 0x150], xmm1
fld dword [esp + 0x150]
fcomp dword [0x68b500]
fnstsw ax
test ah, 5
jp 0x6155b9
mov al, byte [0x6d0ef2]
test al, al
je 0x6155b9
mov eax, dword [0x745834]
mov ecx, dword [eax]
push 7
push 0xa8
push eax
call dword [ecx + 0xc8]
test byte [edi], 4
je 0x615582
mov ax, word [esi + 0x1c]
test ah, 1
je 0x615554
movzx ecx, word [esi + 4]
mov eax, dword [0x745834]
mov edx, dword [eax]
push ecx
mov ecx, dword [edi + 0x48]
push ecx
push eax
call dword [edx + 0x154]
movzx ecx, word [esi + 0x10]
push ecx
movzx ecx, word [esi + 0x18]
mov eax, dword [0x745834]
push ecx
movzx ecx, word [esi + 6]
mov edx, dword [eax]
push ecx
movzx ecx, word [esi + 0xe]
push ecx
xor ecx, ecx
mov cl, byte [esi + 0x1c]
and ecx, 0xff
push ecx
push eax
call dword [edx + 0x11c]
jmp 0x615576
movzx ebx, word [esi + 0x10]
mov ecx, dword [0x745834]
mov edx, dword [ecx]
push ebx
movzx ebx, word [esi + 0xe]
push ebx
and eax, 0xff
push eax
push ecx
call dword [edx + 0x118]
mov ebx, dword [ebp + 8]
movzx eax, word [esi + 0x10]
add dword [0x6f22dc], eax
jmp 0x6155b3
movzx edx, word [esi + 6]
mov eax, dword [0x745834]
mov ecx, dword [eax]
sub edx, 2
push edx
movzx edx, word [esi + 0xe]
push edx
push 5
push eax
call dword [ecx + 0x118]
movzx eax, word [esi + 6]
mov ecx, dword [0x6f22dc]
lea edx, [ecx + eax - 2]
mov dword [0x6f22dc], edx
inc dword [0x6f22e4]
test byte [edi], 4
je 0x6155ca
movzx eax, word [esi + 0x10]
add dword [0x6f22dc], eax
jmp 0x6155dd
movzx ecx, word [esi + 6]
mov edx, dword [0x6f22dc]
lea eax, [edx + ecx - 2]
mov dword [0x6f22dc], eax
mov al, byte [esp + 0x16]
test al, al
je 0x615617
mov eax, dword [0x7459a8]
cmp eax, dword [0x745e88]
je 0x615607
mov ecx, dword [0x745834]
push eax
mov dword [0x745e88], eax
mov edx, dword [ecx]
push ecx
call dword [edx + pe_nt_image_headers32]
mov eax, dword [0x745834]
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x160]
mov eax, dword [0x745834]
mov edx, dword [eax]
push 1
push 0xe
push eax
call dword [edx + 0xc8]
mov eax, dword [0x745834]
mov ecx, dword [eax]
push 3
push 0x16
push eax
call dword [ecx + 0xc8]
mov eax, dword [0x745834]
mov edx, dword [eax]
push 8
push 0x18
push eax
call dword [edx + 0xc8]
mov eax, dword [esp + 0x88]
cmp eax, 0x40
jne 0x615691
mov eax, dword [0x745834]
mov ecx, dword [eax]
push 5
push 0x13
push eax
call dword [ecx + 0xc8]
mov eax, dword [0x745834]
mov edx, dword [eax]
push 6
push 0x14
push eax
call dword [edx + 0xc8]
mov eax, dword [0x745834]
mov ecx, dword [eax]
push 1
push 0xe
push eax
call dword [ecx + 0xc8]
jmp 0x615701
cmp eax, 0xc0
je 0x615701
movaps xmm0, xmmword [ebx + 0xb0]
fld dword [0x68b500]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xff
movaps xmmword [esp + 0x170], xmm1
fld dword [esp + 0x170]
fucompp
fnstsw ax
test ah, 0x44
jp 0x615701
mov eax, dword [0x745834]
mov edx, dword [eax]
push 1
push 0xf
push eax
call dword [edx + 0xc8]
mov eax, dword [0x745834]
mov ecx, dword [eax]
push 1
push 0x1b
push eax
call dword [ecx + 0xc8]
test byte [esi], 0x20
je 0x615701
mov eax, dword [0x745834]
mov edx, dword [eax]
push 4
push 1
push 0
push eax
call dword [edx + 0xfc]
mov eax, dword [0x745834]
mov ecx, dword [eax]
push 0
push 6
push 0
push eax
call dword [ecx + 0xfc]
mov eax, dword [0x745834]
mov edx, dword [eax]
push 2
push 4
push 0
push eax
call dword [edx + 0xfc]
mov ebx, dword [ebp + 8]
mov ecx, dword [esp + 0x6c]
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x18]
movzx edx, byte [edi + 3]
inc eax
cmp eax, edx
mov dword [esp + 0x18], eax
jb 0x614b83
inc ecx
cmp ecx, 2
mov dword [esp + 0x6c], ecx
jl 0x614b70
mov eax, dword [0x745834]
mov ecx, dword [eax]
push 0
push 0
push 2
push eax
call dword [ecx + 0x14c]
mov eax, dword [0x745834]
mov edx, dword [eax]
push 0
push 0
push 1
push eax
call dword [edx + 0x14c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10