Function at 0x49d240
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xac
mov eax, dword [0x5e0f00]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [0x60752c]
mov eax, dword [ebp + 8]
push ebx
push esi
movss xmm0, dword [ecx + 0x3bec]
mov ecx, dword [ecx + 0x3be8]
push edi
push 0
push 0
push 0x538714
sub esp, 0xc
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x88]
mov byte [ebp - 0x59], 0
mov dword [esp + 8], 0xbf800000
mov dword [esp + 4], 0x7f7fffff
movss dword [esp], xmm0
push eax
call fcn.0048a7d0
movss xmm0, dword [ebp - 0x88]
addss xmm0, dword [0x5b7044]
mov ebx, dword [0x60752c]
movsd xmm1, qword [ebx + 0x3de8]
mulsd xmm1, qword [0x53a3e0]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x8c], xmm0
xorps xmm0, xmm0
movlpd qword [ebp - 0x9c], xmm0
movsd xmm0, qword [0x538d60]
comisd xmm1, xmm0
jb 0x49d314
subsd xmm1, xmm0
comisd xmm0, xmm1
jbe 0x49d314
mov esi, dword [ebp - 0x9c]
mov edi, dword [ebp - 0x98]
add esi, 0
adc edi, 0x80000000
jmp 0x49d320
mov edi, dword [ebp - 0x98]
mov esi, dword [ebp - 0x9c]
movaps xmm0, xmm1
call fcn.004d3ce0
add eax, esi
mov byte [ebp - 0x52], 0
mov dword [ebp - 0x94], eax
xorps xmm0, xmm0
mov eax, dword [ebx + 0x3e50]
adc edx, edi
cmp dword [ebp + 0x10], 0
mov dword [ebp - 0x98], edx
mov dword [ebp - 0x24], 0
mov byte [eax + 0x90], 1
mov esi, dword [0x60752c]
mov eax, dword [ebx + 0x3e50]
mov dword [ebp - 0x90], eax
movq qword [ebp - 0x10], xmm0
mov eax, dword [esi + 0x3e50]
mov dword [ebp - 8], 0
mov dword [ebp - 0x44], 0
movq qword [ebp - 0x30], xmm0
mov ecx, dword [eax + 0xc8]
mov eax, dword [eax + 0xd0]
mov dword [ebp - 0x28], 0
push dword [eax + ecx*4 - 4]
push 0
jne 0x49d3c5
push str.horz_arrows
call fcn.0049e590
mov ebx, eax
add esp, 0xc
mov dword [ebp - 0x80], ebx
cmp dword [esi + 0x3e70], ebx
jne 0x49d3f7
push 0
push str.horz_arrows
jmp 0x49d3e6
push str.vert_arrows
call fcn.0049e590
mov ebx, eax
add esp, 0xc
mov dword [ebp - 0x80], ebx
cmp dword [esi + 0x3e70], ebx
jne 0x49d3f7
push 0
push str.vert_arrows
push 0xb
push ebx
call fcn.0048de10
mov esi, dword [0x60752c]
add esp, 0x10
mov edi, ebx
mov al, 0x23
not edi
mov edx, 0x5b5f15
mov ebx, edi
cmp al, 0x23
jne 0x49d412
cmp byte [edx], al
jne 0x49d412
cmp byte [edx + 1], al
cmove ebx, edi
movzx ecx, bl
movzx eax, al
xor ecx, eax
shr ebx, 8
mov al, byte [edx]
inc edx
xor ebx, dword [ecx*4 + 0x5965c0]
test al, al
jne 0x49d404
mov eax, dword [esi + 0x3e50]
mov byte [eax + 0x90], 1
mov ecx, dword [esi + 0x3e50]
push ecx
mov dword [esp], 0
add ecx, 0x22c
push dword [ebp - 0x80]
call fcn.00492c00
mov ecx, dword [0x60752c]
not ebx
mov dword [ebp - 0x74], eax
mov eax, dword [ecx + 0x3e50]
mov byte [eax + 0x90], 1
mov ecx, dword [ecx + 0x3e50]
push ecx
mov dword [esp], 0
add ecx, 0x22c
push ebx
call fcn.00492c00
mov ecx, dword [0x60752c]
xorps xmm2, xmm2
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x80], eax
movss dword [ebp - 0x58], xmm2
mov eax, dword [ecx + 0x3e50]
mov byte [eax + 0x90], 1
mov eax, ebx
mov ecx, dword [ecx + 0x3e50]
xor eax, 1
movss xmm3, dword [ecx + 0x10]
movss xmm4, dword [ecx + 0x14]
movaps xmm6, xmm3
movss xmm1, dword [ecx + 0x4c]
movaps xmm7, xmm4
movss xmm5, dword [ecx + eax*4 + 0x84]
movups xmm0, xmmword [ecx + 0x1b8]
addss xmm6, dword [ecx + 0x18]
addss xmm7, dword [ecx + 0x1c]
movups xmmword [ebp - 0xac], xmm0
test ebx, ebx
jne 0x49d514
movss xmm3, dword [ebp - 0xac]
movaps xmm0, xmm7
movss xmm6, dword [ebp - 0xa4]
subss xmm0, xmm1
movaps xmm2, xmm7
subss xmm0, xmm5
maxss xmm4, xmm0
subss xmm2, xmm4
jmp 0x49d53f
movss xmm4, dword [ebp - 0xa8]
movaps xmm0, xmm6
movss xmm7, dword [ebp - 0xa0]
subss xmm0, xmm1
subss xmm0, xmm5
maxss xmm3, xmm0
cmp ebx, 1
jne 0x49d544
movaps xmm2, xmm6
subss xmm2, xmm3
movss dword [ebp - 0x58], xmm2
mov edx, edi
mov al, 0x23
mov esi, 0x5b5f25
nop dword [eax]
cmp al, 0x23
jne 0x49d55e
cmp byte [esi], al
jne 0x49d55e
cmp byte [esi + 1], al
cmove edx, edi
movzx ecx, dl
movzx eax, al
xor ecx, eax
shr edx, 8
mov al, byte [esi]
inc esi
xor edx, dword [ecx*4 + 0x5965c0]
test al, al
jne 0x49d550
movss dword [ebp - 0x20], xmm3
movaps xmm1, xmm3
movss dword [ebp - 0x1c], xmm4
movaps xmm0, xmm4
addss xmm1, xmm2
not edx
mov dword [ebp - 0x10], edx
addss xmm0, xmm2
movss dword [ebp - 0x18], xmm1
movss dword [ebp - 0x14], xmm0
cmp ebx, 1
jne 0x49d5b5
mov eax, dword [ebp - 0x64]
movaps xmm0, xmm2
addss xmm0, dword [eax + 4]
movss dword [ebp - 0x14], xmm0
jmp 0x49d5c8
test ebx, ebx
jne 0x49d5c8
mov eax, dword [ebp - 0x64]
movaps xmm0, xmm2
addss xmm0, dword [eax]
movss dword [ebp - 0x18], xmm0
mov ebx, edi
mov al, 0x23
mov esi, 0x5b5f2d
cmp al, 0x23
jne 0x49d5df
cmp byte [esi], al
jne 0x49d5df
cmp byte [esi + 1], al
cmove ebx, edi
movzx ecx, bl
movzx eax, al
xor ecx, eax
shr ebx, 8
mov al, byte [esi]
inc esi
xor ebx, dword [ecx*4 + 0x5965c0]
test al, al
jne 0x49d5d1
mov esi, dword [ebp + 0x10]
movaps xmm1, xmm6
mov edi, dword [ebp - 0x64]
movaps xmm0, xmm7
movss dword [ebp - 0x38], xmm6
subss xmm1, xmm2
movss dword [ebp - 0x34], xmm7
subss xmm0, xmm2
not ebx
mov dword [ebp - 0x30], ebx
movss dword [ebp - 0x40], xmm1
movss dword [ebp - 0x3c], xmm0
cmp esi, 1
jne 0x49d63a
movss xmm0, dword [edi + 0xc]
subss xmm0, xmm2
movss dword [ebp - 0x3c], xmm0
jmp 0x49d64c
test esi, esi
jne 0x49d64c
movss xmm0, dword [edi + 8]
subss xmm0, xmm2
movss dword [ebp - 0x40], xmm0
push 0
push 0
push edx
lea eax, [ebp - 0x20]
push eax
call fcn.004a3e00
add esp, 0x10
test al, al
je 0x49e077
push 0
push 0
lea eax, [ebp - 0x40]
push ebx
push eax
call fcn.004a3e00
add esp, 0x10
test al, al
je 0x49e077
push 0
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x23]
push eax
push dword [ebp - 0x10]
lea eax, [ebp - 0x20]
push eax
call fcn.00489a00
push 0
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x43]
push eax
push dword [ebp - 0x30]
lea eax, [ebp - 0x40]
push eax
call fcn.00489a00
xor al, al
xor dl, dl
add esp, 0x28
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x51], dl
test esi, esi
jne 0x49d737
movss xmm0, dword [ebp - 0x58]
addss xmm0, dword [edi]
push esi
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0xc], esi
movss dword [edi], xmm0
movss xmm0, dword [edi + 8]
subss xmm0, dword [ebp - 0x58]
movss dword [edi + 8], xmm0
call fcn.004a3d20
mov esi, dword [0x60752c]
add esp, 4
test al, al
je 0x49d710
cmp byte [esi + 0x2df4], 0
setne al
cmp byte [esi + 0x2e04], 0
mov dword [ebp - 0x64], eax
setne dl
mov byte [ebp - 0x51], dl
jmp 0x49d716
mov eax, dword [ebp - 0x64]
mov dl, byte [ebp - 0x51]
mov bh, byte [ebp - 0x24]
mov bl, byte [ebp - 0x44]
or bh, al
movss xmm0, dword [edi + 8]
or bl, dl
mov al, byte [ebp - 0x52]
subss xmm0, dword [edi]
mov byte [ebp - 0x24], bh
mov byte [ebp - 0x52], al
jmp 0x49d7f3
cmp esi, 1
jne 0x49d7d6
movss xmm0, dword [ebp - 0x58]
addss xmm0, dword [edi + 4]
push 0
mov dword [ebp - 0x2c], 3
mov dword [ebp - 0xc], 2
movss dword [edi + 4], xmm0
movss xmm0, dword [edi + 0xc]
subss xmm0, dword [ebp - 0x58]
movss dword [edi + 0xc], xmm0
call fcn.004a3d20
add esp, 4
test al, al
je 0x49d7d0
mov esi, dword [0x60752c]
mov ebx, 1
cmp byte [esi + 0x2e14], 0
mov cl, byte [esi + 0x2e34]
setne al
cmp byte [esi + 0x2e24], 0
movzx eax, al
setne dl
test cl, cl
mov byte [ebp - 0x51], dl
cmovne eax, ebx
setne byte [ebp - 0x52]
mov bh, byte [ebp - 0x24]
or bh, al
mov dword [ebp - 0x64], eax
cmp byte [esi + 0x2e44], 0
mov byte [ebp - 0x24], bh
je 0x49d7e4
mov byte [ebp - 0x52], bl
mov byte [ebp - 0x51], bl
mov bl, byte [ebp - 0x44]
or bl, 1
jmp 0x49d7e9
mov eax, dword [ebp - 0x64]
mov dl, byte [ebp - 0x51]
mov bh, byte [ebp - 0x24]
mov esi, dword [0x60752c]
or bh, al
mov byte [ebp - 0x24], bh
mov bl, byte [ebp - 0x44]
or bl, dl
movss xmm0, dword [edi + 0xc]
subss xmm0, dword [edi + 4]
mov ecx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp + 0x18]
mov byte [ebp - 0x44], bl
movss dword [ebp - 0x78], xmm0
cmp ecx, dword [ebp + 0x1c]
jl 0x49d81a
jg 0x49d80f
cmp eax, edx
jb 0x49d81a
mov edx, dword [ebp + 0x1c]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x58], ecx
jmp 0x49d827
mov eax, edx
mov dword [ebp - 0x60], edx
mov edx, dword [ebp + 0x1c]
mov ecx, edx
mov dword [ebp - 0x58], edx
test ecx, ecx
jl 0x49d832
jg 0x49d840
cmp eax, 1
jae 0x49d840
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x58], 0
mov ecx, dword [ebp + 0x18]
call fcn.004d3df0
mov edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x60]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x6c], xmm0
call fcn.004d3df0
movss xmm2, dword [ebp - 0x6c]
cvtsd2ss xmm0, xmm0
movss xmm1, dword [esi + 0x384c]
divss xmm2, xmm0
movss xmm0, dword [ebp - 0x78]
mulss xmm2, xmm0
movss dword [ebp - 0x58], xmm1
comiss xmm1, xmm2
ja 0x49d890
movaps xmm1, xmm0
minss xmm1, xmm2
movss dword [ebp - 0x58], xmm1
mov esi, dword [ebp + 0x20]
sub esi, dword [ebp + 0x18]
mov eax, dword [ebp + 0x24]
sbb eax, dword [ebp + 0x1c]
mov dword [ebp - 0x60], eax
test eax, eax
jg 0x49d8b6
jl 0x49d8aa
cmp esi, 1
ja 0x49d8b6
mov esi, 1
mov dword [ebp - 0x60], 0
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
call fcn.004d3df0
mov edx, dword [ebp - 0x60]
mov ecx, esi
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x6c], xmm0
call fcn.004d3df0
movss xmm2, dword [ebp - 0x6c]
cvtsd2ss xmm0, xmm0
movss xmm1, dword [0x538d18]
divss xmm2, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x49d8f8
xorps xmm1, xmm1
jmp 0x49d8fc
minss xmm1, xmm2
cmp dword [ebp + 0x10], 0
movss xmm4, dword [ebp - 0x58]
movss xmm3, dword [ebp - 0x78]
movss xmm5, dword [edi]
subss xmm3, xmm4
movss xmm2, dword [edi + 4]
movss xmm6, dword [edi + 0xc]
movss dword [ebp - 0x58], xmm5
movss dword [ebp - 0x6c], xmm2
mulss xmm3, xmm1
movss xmm1, dword [edi + 8]
divss xmm3, dword [ebp - 0x78]
jne 0x49d960
subss xmm1, xmm5
movss dword [ebp - 0xa0], xmm6
mulss xmm1, xmm3
addss xmm1, xmm5
movaps xmm0, xmm1
addss xmm1, xmm4
movss dword [ebp - 0x58], xmm0
movss dword [ebp - 0xac], xmm0
jmp 0x49d98e
movaps xmm0, xmm2
movss dword [ebp - 0xac], xmm5
movaps xmm2, xmm6
subss xmm2, xmm0
mulss xmm2, xmm3
addss xmm2, xmm0
movaps xmm0, xmm2
movss dword [ebp - 0x6c], xmm2
addss xmm0, xmm4
movss dword [ebp - 0xa0], xmm0
cmp byte [ebp - 0x64], 0
movss dword [ebp - 0xa4], xmm1
movss dword [ebp - 0xa8], xmm2
jne 0x49d9ae
cmp byte [ebp - 0x51], 0
jne 0x49d9ae
xor cl, cl
jmp 0x49d9b0
mov cl, 1
test bl, bl
je 0x49d9bf
test cl, cl
jne 0x49d9bf
mov eax, 0x17
jmp 0x49d9ca
xor eax, eax
cmp byte [ebp - 0x43], al
setne al
add eax, 0x15
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x78], eax
test bh, bh
je 0x49d9df
test cl, cl
jne 0x49d9df
mov eax, 0x17
jmp 0x49d9ea
xor eax, eax
cmp byte [ebp - 0x23], al
setne al
add eax, 0x15
mov ecx, dword [ebp - 0x90]
push 0
sub esp, 8
mov dword [ebp - 8], eax
mov esi, dword [ecx + 0x24c]
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], esi
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
push eax
mov dword [ebp - 0x60], ecx
call fcn.004923d0
add esp, 8
mov ecx, esi
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.00482d70
mov esi, dword [ebp - 0x50]
movss xmm1, dword [0x5b7010]
movss xmm0, dword [ebp - 0x18]
push 0
test byte [esi + 0x24], 1
push ecx
mov dword [esp], 0
mov ecx, esi
je 0x49da9e
movss xmm1, dword [0x538d10]
lea eax, [ebp - 0x68]
subss xmm0, xmm1
push eax
lea eax, [ebp - 0x88]
movss dword [ebp - 0x68], xmm0
movss xmm0, dword [ebp - 0x14]
subss xmm0, xmm1
movss dword [ebp - 0x64], xmm0
movss xmm0, dword [ebp - 0x20]
addss xmm0, xmm1
movss dword [ebp - 0x88], xmm0
movss xmm0, dword [ebp - 0x1c]
addss xmm0, xmm1
movss dword [ebp - 0x84], xmm0
jmp 0x49dae9
subss xmm0, xmm1
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x68]
movss dword [ebp - 0x88], xmm0
movss xmm0, dword [ebp - 0x14]
subss xmm0, xmm1
movss dword [ebp - 0x84], xmm0
movss xmm0, dword [ebp - 0x20]
addss xmm0, dword [0x538d10]
movss dword [ebp - 0x68], xmm0
movss xmm0, dword [ebp - 0x1c]
addss xmm0, dword [0x538d10]
movss dword [ebp - 0x64], xmm0
push eax
call fcn.004afab0
push ecx
mov dword [esp], 0x3f800000
mov ecx, esi
push 1
push 0xff000000
push dword [esi + 0x54]
push dword [esi + 0x5c]
call fcn.00481ef0
push ecx
mov dword [esp], 0x3f800000
lea eax, [ebp - 0x20]
push eax
push ecx
mov dword [esp], 0x3f800000
push 0
mov dword [esi + 0x54], 0
call fcn.004923d0
add esp, 8
lea ecx, [ebp - 0x60]
push eax
push dword [ebp - 0xc]
call fcn.00480590
push 0
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
push dword [ebp - 0x78]
call fcn.004923d0
mov ecx, dword [ebp - 0x50]
add esp, 8
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00482d70
mov esi, dword [ebp - 0x50]
lea eax, [ebp - 0x88]
movss xmm0, dword [ebp - 0x38]
push 0
push ecx
test byte [esi + 0x24], 1
mov ecx, esi
mov dword [esp], 0
push eax
lea eax, [ebp - 0x7c]
push eax
je 0x49dbcf
movss xmm1, dword [0x538d10]
subss xmm0, xmm1
movss dword [ebp - 0x88], xmm0
movss xmm0, dword [ebp - 0x34]
subss xmm0, xmm1
movss dword [ebp - 0x84], xmm0
movss xmm0, dword [ebp - 0x40]
addss xmm0, xmm1
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [ebp - 0x3c]
addss xmm0, xmm1
jmp 0x49dc13
subss xmm0, dword [0x5b7010]
movss dword [ebp - 0x88], xmm0
movss xmm0, dword [ebp - 0x34]
subss xmm0, dword [0x5b7010]
movss dword [ebp - 0x84], xmm0
movss xmm0, dword [ebp - 0x40]
addss xmm0, dword [0x538d10]
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [ebp - 0x3c]
addss xmm0, dword [0x538d10]
movss dword [ebp - 0x78], xmm0
call fcn.004afab0
push ecx
mov dword [esp], 0x3f800000
mov ecx, esi
push 1
push 0xff000000
push dword [esi + 0x54]
push dword [esi + 0x5c]
call fcn.00481ef0
push ecx
mov dword [esp], 0x3f800000
lea eax, [ebp - 0x40]
push eax
push ecx
mov dword [esp], 0x3f800000
push 0
mov dword [esi + 0x54], 0
call fcn.004923d0
add esp, 8
lea ecx, [ebp - 0x60]
push eax
push dword [ebp - 0x2c]
call fcn.00480590
mov esi, dword [0x60752c]
mov al, byte [esi + 0xd7c]
mov byte [ebp - 0x51], al
test al, al
je 0x49dc98
movss xmm1, dword [esi + 0x30]
movss xmm0, dword [esi + 0x36e8]
mulss xmm1, xmm1
comiss xmm0, xmm1
setae al
test al, al
jne 0x49dcfe
push 1
lea eax, [edi + 8]
push eax
push edi
call fcn.004a3b20
add esp, 0xc
test al, al
je 0x49dcfe
push 1
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.004a3b20
add esp, 0xc
test al, al
jne 0x49dcfe
cmp byte [ebp - 0x51], al
je 0x49dcfe
cmp dword [ebp + 0x10], 0
mov byte [ebp - 0x59], 1
mov byte [ebp - 0x52], 1
jne 0x49dce8
movss xmm0, dword [ebp - 0x58]
comiss xmm0, dword [esi + 0xd74]
jmp 0x49dcf4
movss xmm0, dword [ebp - 0x6c]
comiss xmm0, dword [esi + 0xd78]
seta al
or bh, al
sete al
or bl, al
test bh, bh
je 0x49dd0a
test bl, bl
je 0x49dd0a
xor bl, bl
xor bh, bh
mov edi, dword [ebp - 0x74]
mov byte [ebp - 0x51], 0
cmp bh, bl
je 0x49dd42
movss xmm0, dword [edi]
ucomiss xmm0, dword [0x5b6fc8]
lahf
test ah, 0x44
jp 0x49dd3c
movsd xmm0, qword [esi + 0x3de8]
cvtpd2ps xmm0, xmm0
mov byte [ebp - 0x51], 1
movss dword [edi], xmm0
jmp 0x49dd51
mov byte [ebp - 0x51], 0
jmp 0x49dd51
mov eax, dword [ebp - 0x80]
mov dword [edi], 0
mov dword [eax], 0
mov esi, dword [sym.imp.USER32.dll_SystemParametersInfoW]
lea eax, [ebp - 0x48]
push 0
push eax
push 0
push 0x16
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x4c], 0
call esi
test eax, eax
mov eax, 1
push 0
cmovne eax, dword [ebp - 0x48]
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0xa
call esi
test eax, eax
mov esi, 0x1f
push 0
cmovne esi, dword [ebp - 0x4c]
call fcn.004a3d20
add esp, 4
test al, al
jne 0x49ddad
cmp byte [ebp - 0x52], al
je 0x49e063
test bh, bh
jne 0x49ddb9
test bl, bl
je 0x49e063
movd xmm0, esi
cvtdq2pd xmm0, xmm0
shr esi, 0x1f
mov eax, dword [ebp - 0x74]
inc eax
movss xmm2, dword [0x5b70e4]
addsd xmm0, qword [esi*8 + 0x5396a0]
imul eax, eax, 0xfa
cvtpd2ps xmm0, xmm0
mov dword [ebp - 0x74], eax
mulss xmm0, dword [0x5b703c]
addss xmm0, dword [0x5b7080]
divss xmm2, xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x78], xmm2
movss xmm2, dword [edi]
mulss xmm2, dword [0x5b70e4]
movlpd qword [ebp - 0x70], xmm0
movss xmm0, dword [0x5b70f4]
comiss xmm2, xmm0
jb 0x49de3a
subss xmm2, xmm0
comiss xmm0, xmm2
jbe 0x49de3a
mov esi, dword [ebp - 0x70]
mov edi, dword [ebp - 0x6c]
add esi, 0
adc edi, 0x80000000
jmp 0x49de40
mov edi, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x70]
movaps xmm0, xmm2
call fcn.004d3c70
mov ecx, eax
add ecx, esi
adc edx, edi
test bh, bh
je 0x49de57
or edi, 0xffffffff
jmp 0x49de63
xor eax, eax
test bl, bl
setne al
mov dword [ebp - 0x6c], eax
mov edi, eax
cmp byte [ebp - 0x52], 0
mov esi, dword [0x60752c]
movss xmm1, dword [ebp - 0x8c]
mov ebx, dword [ebp + 0x10]
movaps xmm3, xmm1
movss xmm2, dword [esi + 0x3bec]
addss xmm2, dword [esi + 0x3820]
movss dword [ebp - 0x6c], xmm2
je 0x49df10
mov eax, dword [esi + 0x3e50]
test ebx, ebx
jne 0x49dea3
movss xmm3, dword [eax + 0x18]
jmp 0x49df10
movss xmm0, dword [eax + 0x1c]
divss xmm0, xmm2
mov esi, dword [ebp - 0x90]
test dword [esi + 8], 0x800
mov esi, dword [0x60752c]
addss xmm0, dword [0x538d10]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvttss2si eax, xmm0
je 0x49def4
mov esi, dword [ebp - 0x90]
movss xmm0, dword [esi + 0x28]
comiss xmm0, dword [esi + 0x18]
mov esi, dword [0x60752c]
jbe 0x49def4
sub eax, 2
jmp 0x49def5
dec eax
movss xmm1, dword [ebp - 0x8c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
movaps xmm2, xmm0
movss dword [ebp - 0x6c], xmm0
cmp byte [ebp - 0x51], 0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x8c], xmm0
je 0x49df82
mov eax, dword [esi + 0x3e50]
cmp ebx, 1
jne 0x49df51
mulss xmm0, xmm2
addss xmm0, dword [eax + 0x60]
mov dword [eax + 0x78], 0
mov dword [eax + 0x80], 0
movss dword [eax + 0x70], xmm0
jmp 0x49df6d
mulss xmm0, xmm3
addss xmm0, dword [eax + 0x5c]
mov dword [eax + 0x74], 0
mov dword [eax + 0x7c], 0
movss dword [eax + 0x6c], xmm0
mov eax, dword [ebp - 0x80]
movss dword [eax], xmm0
mov esi, dword [0x60752c]
movss xmm0, dword [ebp - 0x8c]
mov eax, ecx
or eax, edx
je 0x49e063
mov eax, dword [ebp - 0x98]
cmp eax, edx
jb 0x49e063
mov edi, dword [ebp - 0x94]
ja 0x49dfaa
cmp edi, ecx
jb 0x49e063
sub edi, ecx
sbb eax, edx
test eax, eax
jb 0x49e063
mov eax, dword [ebp - 0x74]
ja 0x49dfc3
cmp edi, eax
jb 0x49e063
test ebx, ebx
jne 0x49dff5
mov eax, dword [esi + 0x3e50]
mulss xmm1, xmm0
pop edi
pop esi
addss xmm1, dword [eax + 0x5c]
mov dword [eax + 0x74], ebx
mov dword [eax + 0x7c], ebx
pop ebx
movss dword [eax + 0x6c], xmm1
mov al, byte [ebp - 0x59]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004d3b35
mov esp, ebp
pop ebp
ret
cmp ebx, 1
jne 0x49e063
mov ebx, dword [ebp - 0x94]
mov esi, dword [esi + 0x3e50]
sub ebx, eax
mov eax, dword [ebp - 0x98]
sbb eax, 0
sub ebx, ecx
mov ecx, ebx
sbb eax, edx
mov edx, eax
call fcn.004d3d90
xorps xmm1, xmm1
movss xmm2, dword [ebp - 0x6c]
cvtsd2ss xmm1, xmm0
mov eax, dword [ebp - 0x80]
movaps xmm0, xmm2
divss xmm1, dword [ebp - 0x78]
mulss xmm0, dword [ebp - 0x8c]
mulss xmm1, xmm0
addss xmm1, dword [eax]
mov dword [esi + 0x78], 0
mov dword [esi + 0x80], 0
divss xmm1, xmm2
mulss xmm1, xmm2
movss dword [esi + 0x70], xmm1
mov al, byte [ebp - 0x59]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004d3b35
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor al, al
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004d3b35
mov esp, ebp
pop ebp
ret