Function at 0x433480
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0xe8
mov eax, dword [0x59d350]
push esi
mov dword [ebp - 0x30], eax
push edi
mov al, byte [eax + 0x5b]
mov edi, ecx
mov byte [ebp - 1], al
mov cl, 0x25
mov dword [ebp - 0x7c], edx
xor eax, eax
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x14], 0x63060625
mov dword [ebp - 0x10], 0x4240574a
mov dword [ebp - 0xc], 0x4b504a57
mov word [ebp - 8], 0x41
xor byte [ebp + eax - 0x13], cl
inc eax
cmp eax, 0xc
jae 0x4334e2
mov cl, byte [ebp - 0x14]
jmp 0x4334d3
mov ecx, dword [edi + 0x2c]
lea eax, [ebp - 0x13]
push eax
mov edx, 1
mov byte [ebp - 7], 0
call fcn.0041aad0
mov esi, dword [ebx + 8]
add esp, 4
movss xmm7, dword [0x46e43c]
mov dl, byte [ebp - 1]
mov dword [ebp - 0x98], eax
mov esi, dword [esi + 0x2c]
mov dword [ebp - 0x5c], 1
cmp dword [edi + 0x2c], esi
je 0x4335c3
test dl, dl
jne 0x4335c7
mov cl, 0x25
mov dword [ebp - 0x14], 0x63060625
mov dword [ebp - 0x10], 0x4240574a
xor eax, eax
mov dword [ebp - 0xc], 0x4b504a57
mov word [ebp - 8], 0x41
xor byte [ebp + eax - 0x13], cl
inc eax
cmp eax, 0xc
jae 0x433557
mov cl, byte [ebp - 0x14]
jmp 0x433548
lea eax, [ebp - 0x13]
mov byte [ebp - 7], 0
push eax
mov edx, 1
mov ecx, esi
call fcn.0041aad0
movss xmm7, dword [0x46e43c]
add esp, 4
mov dl, byte [ebp - 1]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x5c], 2
movss xmm1, dword [0x46e42c]
mov ecx, 0x26
call fcn.004186c0
mov dword [ebp - 0x3c], eax
mov ecx, 0x26
test dl, dl
je 0x4335cc
movss xmm1, dword [0x46e480]
movss xmm7, dword [0x46e45c]
call fcn.004186c0
movss xmm1, dword [0x46e468]
jmp 0x4335e1
test dl, dl
je 0x433586
movaps xmm1, xmm7
jmp 0x43358e
movss xmm1, dword [0x46e478]
call fcn.004186c0
movss xmm1, dword [0x46e448]
mov ecx, 0x26
mov dword [ebp - 0x9c], eax
call fcn.004186c0
movaps xmm1, xmm7
mov dword [ebp - 0xa0], eax
mov ecx, 0x34
call fcn.004186c0
mov esi, dword [ebx + 8]
mov dword [ebp - 0x58], eax
mov ecx, dword [esi + 0x38c]
test ecx, ecx
je 0x43361e
cmp dword [ecx + 0x24], 0
jg 0x43361e
xor cl, cl
jmp 0x433620
mov cl, 1
mov edx, dword [ebx + 0xc]
movss xmm7, dword [0x46e4b8]
mov byte [ebp - 1], cl
mov al, byte [edx + 0xa4]
test al, al
je 0x433cae
cmp dword [edx + 0xac], 0xffffffff
movss xmm6, dword [edx + 0x34]
movss xmm3, dword [edx + 0x38]
movss xmm4, dword [edx + 0x3c]
movss xmm5, dword [edx + 0x40]
addss xmm4, xmm6
addss xmm5, xmm3
movss dword [ebp - 0x80], xmm6
movss dword [ebp - 0x70], xmm6
movss dword [ebp - 0x18], xmm3
movss dword [ebp - 0x6c], xmm3
movss dword [ebp - 0x38], xmm4
movss dword [ebp - 0x68], xmm4
movss dword [ebp - 0x34], xmm5
movss dword [ebp - 0x64], xmm5
jne 0x4336c2
mov edi, dword [0x59d350]
test cl, cl
je 0x4336b5
movss xmm0, dword [edi + 0x3894]
addss xmm0, xmm0
addss xmm0, dword [edi + 0x3c98]
addss xmm3, xmm0
movss dword [ebp - 0x18], xmm3
movss dword [ebp - 0x6c], xmm3
cmp byte [edx + 0xa5], 0
je 0x4337d0
xor edi, edi
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [ebp - 0x40]
movss xmm1, dword [eax + 0x40]
movss xmm2, dword [eax + 0x44]
movaps xmm0, xmm1
addss xmm1, dword [eax + 0x48]
addss xmm0, xmm7
subss xmm1, xmm7
comiss xmm0, xmm6
movaps xmm0, xmm2
addss xmm2, dword [eax + 0x4c]
setae dl
addss xmm0, xmm7
comiss xmm4, xmm1
subss xmm2, xmm7
setae dh
comiss xmm0, xmm3
mov byte [ebp - 0x29], dh
setae cl
comiss xmm5, xmm2
setae ch
test cl, cl
je 0x433727
test dl, dl
je 0x433727
mov eax, 0x110
jmp 0x433730
mov eax, 0x100
test cl, cl
je 0x43373b
test dh, dh
je 0x43373b
mov esi, 0x20
jmp 0x43373d
xor esi, esi
test ch, ch
je 0x43374c
test dl, dl
je 0x43374c
mov edx, 0x40
jmp 0x433752
xor edx, edx
test ch, ch
je 0x43375f
cmp byte [ebp - 0x29], 0
je 0x43375f
mov ecx, 0x80
jmp 0x433761
xor ecx, ecx
or eax, ecx
or eax, edx
or eax, esi
push eax
mov eax, dword [ebp - 0x40]
push ecx
mov ecx, dword [ebp + edi*4 - 0x98]
movss xmm0, dword [eax + 0x78]
lea eax, [ebp - 0x68]
movss dword [esp], xmm0
push dword [ebp - 0x3c]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00442260
movss xmm3, dword [ebp - 0x18]
inc edi
movss xmm4, dword [ebp - 0x38]
movss xmm5, dword [ebp - 0x34]
movss xmm6, dword [ebp - 0x80]
movss xmm7, dword [0x46e4b8]
cmp edi, dword [ebp - 0x5c]
jl 0x4336d0
mov edx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
mov al, byte [edx + 0xa4]
test al, al
je 0x433cae
mov edi, dword [0x59d350]
mov cl, byte [ebp - 1]
test cl, cl
je 0x433cae
cmp dword [edx + 0xac], 0xffffffff
jne 0x433cae
cmp byte [edx + 0xa5], 0
je 0x433cae
movss xmm2, dword [edx + 0x38]
movss xmm3, dword [edi + 0x3c98]
movss xmm4, dword [edi + 0x3894]
movaps xmm0, xmm3
movss xmm5, dword [edx + 0x3c]
addss xmm0, xmm2
addss xmm5, dword [edx + 0x34]
mov al, byte [edx + 0xa0]
addss xmm4, xmm4
movss dword [ebp - 0x20], xmm2
addss xmm4, xmm0
movss xmm0, dword [edi + 0x3868]
subss xmm5, xmm0
movaps xmm2, xmm0
addss xmm2, dword [edx + 0x34]
movss dword [ebp - 0x50], xmm4
movss xmm4, dword [edi + 0x3890]
subss xmm5, xmm4
addss xmm2, xmm4
movss dword [ebp - 0x48], xmm5
test al, 8
je 0x433866
subss xmm5, xmm3
movss dword [ebp - 0x48], xmm5
and al, 0x10
je 0x4338b8
cmp dword [edi + 0x387c], 0
jne 0x43388a
movss xmm0, dword [edi + 0x38a8]
addss xmm0, xmm3
addss xmm0, xmm2
movss dword [ebp - 0x1c], xmm0
jmp 0x4338c0
movaps xmm0, xmm2
movss dword [ebp - 0x1c], xmm0
test al, al
je 0x4338c0
cmp dword [edi + 0x387c], 1
movss dword [ebp - 0x1c], xmm0
jne 0x4338c0
addss xmm4, xmm3
movss dword [ebp - 0x1c], xmm0
subss xmm5, xmm4
movss dword [ebp - 0x48], xmm5
jmp 0x4338c0
movaps xmm0, xmm2
movss dword [ebp - 0x1c], xmm2
mov ecx, dword [ebp - 0x7c]
movss dword [ebp - 0x74], xmm0
test ecx, ecx
je 0x43391a
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x43391a
test dword [ecx + 0x10], 0x3000
jne 0x4338f2
mov ecx, dword [ebp - 0x30]
movss xmm1, dword [eax + 0x40]
addss xmm1, dword [ecx + 0x38a8]
addss xmm1, xmm0
jmp 0x43394f
mov eax, dword [ecx + 0x2c]
lea ecx, [ebp - 0x10]
mov edx, dword [eax]
movzx eax, byte [edx + 0xcd]
mov edx, dword [edx]
push eax
call fcn.0045b860
mov ecx, dword [ebp - 0x30]
movss xmm1, dword [eax]
addss xmm1, dword [ecx + 0x38a8]
jmp 0x433947
mov edx, dword [ebp - 0x40]
test dword [edx + 8], 0x20000000
jne 0x433957
movzx eax, byte [edx + 0xcd]
lea ecx, [ebp - 0x10]
mov edx, dword [edx]
push eax
call fcn.0045b860
mov ecx, dword [ebp - 0x30]
movss xmm1, dword [ecx + 0x38a8]
addss xmm1, dword [eax]
addss xmm1, dword [ebp - 0x1c]
add esp, 4
mov edx, dword [ebp - 0x40]
movss dword [ebp - 0x74], xmm1
mov eax, dword [esi + 0x38c]
test eax, eax
je 0x43397a
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x43397f
mov ecx, dword [eax]
mov dword [ebp - 0x28], ecx
test ecx, ecx
jle 0x433cae
jmp 0x433987
xor eax, eax
mov dword [ebp - 0x3c], eax
mov ecx, 1
mov dword [ebp - 0x28], ecx
xor esi, esi
mov dword [ebp - 0x38], esi
nop dword [eax]
test eax, eax
je 0x4339a8
mov eax, dword [eax + 8]
mov esi, dword [eax + esi + 8]
mov dword [ebp - 0x24], esi
test esi, esi
je 0x433c93
jmp 0x4339ae
mov esi, dword [ebx + 8]
mov dword [ebp - 0x24], esi
mov ecx, esi
call fcn.00432b20
test al, al
je 0x433c90
movzx eax, byte [esi + 0xcd]
lea ecx, [ebp - 0x10]
mov edx, dword [esi]
push eax
call fcn.0045b860
movss xmm0, dword [ebp - 0x20]
add esp, 4
mov eax, dword [ebp - 0x30]
movss xmm3, dword [ebp - 0x74]
movss xmm1, dword [edi + 0x3854]
movaps xmm2, xmm3
addss xmm2, dword [ebp - 0x10]
mov esi, dword [esi + 0x370]
movss dword [ebp - 0x6c], xmm0
addss xmm0, dword [ebp - 0xc]
movss dword [ebp - 0x70], xmm3
movss dword [ebp - 0x80], xmm2
movss dword [ebp - 0x68], xmm2
movss dword [ebp - 0x18], xmm1
movss dword [ebp - 0x34], xmm0
movss dword [ebp - 0x64], xmm0
movss xmm0, dword [eax + 0x38a8]
addss xmm0, dword [ebp - 0x10]
addss xmm3, xmm0
movss xmm0, dword [0x46e478]
comiss xmm1, xmm0
movss dword [ebp - 0x74], xmm3
jae 0x433a7e
mov eax, esi
shr eax, 0x18
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x46f640]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
call fcn.00467c90
movss xmm1, dword [ebp - 0x18]
and esi, 0xffffff
movss xmm0, dword [0x46e478]
shl eax, 0x18
or esi, eax
comiss xmm1, xmm0
mov edi, dword [ebp - 0x24]
mov eax, dword [edi + 0x37c]
mov dword [ebp - 0x8c], eax
jae 0x433acd
shr eax, 0x18
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x46f640]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
call fcn.00467c90
mov ecx, dword [ebp - 0x8c]
shl eax, 0x18
and ecx, 0xffffff
or ecx, eax
mov dword [ebp - 0x8c], ecx
mov edx, esi
call fcn.004187a0
movss xmm1, dword [ebp - 0x1c]
xor eax, eax
mov dword [ebp - 0x18], eax
nop
mov edi, dword [edi + 8]
movss xmm0, dword [ebp - 0x70]
movss xmm2, dword [ebp - 0x48]
movss xmm3, dword [ebp - 0x50]
shr edi, 0x14
and edi, 1
or edi, 0x800000
comiss xmm0, xmm1
movss xmm0, dword [ebp - 0x20]
jb 0x433b1d
comiss xmm0, xmm0
jb 0x433b1d
comiss xmm2, dword [ebp - 0x80]
jb 0x433b1d
comiss xmm3, dword [ebp - 0x34]
jae 0x433bc9
comiss xmm1, xmm2
mov edx, dword [ebp + eax*4 - 0x98]
mov dword [ebp - 0x88], edx
movss dword [ebp - 0xb0], xmm1
movss dword [ebp - 0xac], xmm0
movss dword [ebp - 0xa8], xmm2
movss dword [ebp - 0xa4], xmm3
jb 0x433b57
movss dword [ebp - 0xa8], xmm1
comiss xmm0, dword [ebp - 0x50]
jb 0x433b65
movss dword [ebp - 0xa4], xmm0
mov ecx, dword [edx + 0x40]
lea esi, [edx + 0x3c]
mov eax, dword [esi]
cmp eax, ecx
jne 0x433ba9
lea edx, [eax + 1]
mov dword [ebp - 0xb4], edx
test ecx, ecx
je 0x433b8f
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [ebp - 0xb4]
sar eax, 1
add eax, ecx
jmp 0x433b94
mov eax, 8
cmp eax, edx
mov ecx, esi
cmovg edx, eax
push edx
call fcn.00447ca0
mov eax, dword [esi]
mov edx, dword [ebp - 0x88]
movups xmm0, xmmword [ebp - 0xb0]
shl eax, 4
mov ecx, edx
add eax, dword [esi + 8]
movups xmmword [eax], xmm0
inc dword [esi]
movups xmmword [edx + 0x60], xmm0
call fcn.0043fe40
mov eax, dword [ebp - 0x18]
push dword [ebp - 0x8c]
mov esi, dword [ebp + eax*4 - 0x98]
lea edx, [ebp - 0x70]
push edi
mov ecx, esi
call fcn.0045b950
mov eax, dword [ebp - 0x30]
lea edx, [ebp - 0x70]
mov ecx, esi
push dword [eax + 0x3894]
push dword [eax + 0x3890]
mov eax, dword [ebp - 0x24]
push 0
push 0
push 0
push 0
push 0
push dword [eax]
push edi
call fcn.0045bdb0
movss xmm1, dword [ebp - 0x1c]
add esp, 0x2c
movss xmm0, dword [ebp - 0x70]
comiss xmm0, xmm1
jb 0x433c3c
movss xmm0, dword [ebp - 0x20]
comiss xmm0, xmm0
jb 0x433c3c
movss xmm0, dword [ebp - 0x48]
comiss xmm0, dword [ebp - 0x80]
jb 0x433c3c
movss xmm0, dword [ebp - 0x50]
comiss xmm0, dword [ebp - 0x34]
jae 0x433c6d
mov ecx, dword [esi + 0x3c]
sub ecx, 1
mov dword [esi + 0x3c], ecx
jne 0x433c4f
mov eax, dword [esi + 0x2c]
add eax, 0x18
jmp 0x433c5a
mov eax, dword [esi + 0x44]
shl ecx, 4
add eax, 0xfffffff0
add eax, ecx
movups xmm0, xmmword [eax]
mov ecx, esi
movups xmmword [esi + 0x60], xmm0
call fcn.0043fe40
movss xmm1, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov edi, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0x5c]
jl 0x433ae0
mov ecx, 1
call fcn.00418890
mov edi, dword [0x59d350]
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
add esi, 0x2c
mov edx, dword [ebp - 0x40]
sub ecx, 1
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x28], ecx
jne 0x433990
mov edx, dword [ebp - 0x30]
or ecx, 0xffffffff
movss xmm3, dword [0x46e4d4]
mov esi, dword [ebx + 0xc]
movss xmm6, dword [0x46e5d4]
maxss xmm3, dword [edx + 0x3898]
movss xmm2, dword [0x46e434]
mov edi, dword [ebp - 0x7c]
lea eax, [esi + 0xb8]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x34], eax
movss dword [ebp - 0x24], xmm3
nop dword [eax + eax]
movss xmm0, dword [eax - 4]
comiss xmm0, dword [eax + 4]
ja 0x433f97
movss xmm0, dword [eax]
comiss xmm0, dword [eax + 8]
ja 0x433f97
movups xmm1, xmmword [eax - 4]
movaps xmm4, xmm1
movaps xmm0, xmm1
movaps xmm5, xmm1
shufps xmm4, xmm1, 0x55
subss xmm5, xmm6
shufps xmm0, xmm1, 0xaa
subss xmm4, xmm6
subss xmm0, dword [0x46e4b8]
movups xmmword [ebp - 0xc8], xmm1
shufps xmm1, xmm1, 0xff
subss xmm1, dword [0x46e4b8]
movss dword [ebp - 0x3c], xmm5
movups xmmword [ebp - 0xe0], xmm4
movaps xmmword [ebp - 0x70], xmm0
movups xmmword [ebp - 0xb0], xmm1
cmp dword [esi + 0xac], ecx
jne 0x433d73
cmp byte [esi + 0xa7], 0
mov edx, dword [ebp - 0x9c]
jne 0x433d79
mov edx, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x58]
addss xmm0, xmm5
xor eax, eax
mov dword [ebp - 0x38], edx
and ecx, 0xff000000
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x88], ecx
mulss xmm0, xmm2
cvttss2si esi, xmm0
movaps xmm0, xmm1
addss xmm0, xmm4
mulss xmm0, xmm2
cvttss2si edi, xmm0
nop dword [eax + eax]
mov eax, dword [ebp + eax*4 - 0x98]
push 0
push ecx
movss dword [esp], xmm3
lea ecx, [ebp - 0xc0]
push edx
push ecx
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0x28], eax
push ecx
mov ecx, eax
call fcn.00442260
cmp dword [ebp - 0x88], 0
mov eax, dword [ebp - 0x28]
je 0x433ebe
test byte [eax + 0x24], 1
movss xmm3, dword [0x46e434]
movss xmm1, dword [ebp - 0x3c]
movss xmm2, dword [ebp - 0xe0]
addss xmm1, xmm3
movss xmm0, dword [ebp - 0x70]
addss xmm2, xmm3
push 0
je 0x433e48
subss xmm0, xmm3
movss dword [ebp - 0xb8], xmm1
lea ecx, [ebp - 0x10]
movss dword [ebp - 0xb4], xmm2
push ecx
lea ecx, [ebp - 0xb8]
movss dword [ebp - 0x10], xmm0
movss xmm0, dword [ebp - 0xb0]
subss xmm0, xmm3
movss dword [ebp - 0xc], xmm0
jmp 0x433e8a
subss xmm0, dword [0x46e430]
lea ecx, [ebp - 0x84]
movss dword [ebp - 0x90], xmm1
push ecx
movss dword [ebp - 0x8c], xmm2
lea ecx, [ebp - 0x90]
movss dword [ebp - 0x84], xmm0
movss xmm0, dword [ebp - 0xb0]
subss xmm0, dword [0x46e430]
movss dword [ebp - 0x80], xmm0
movss xmm3, dword [ebp - 0x24]
push ecx
mov ecx, eax
call fcn.00441c70
mov eax, dword [ebp - 0x28]
push ecx
mov dword [esp], 0x3f800000
mov ecx, eax
push 1
push dword [ebp - 0x58]
push dword [eax + 0x54]
push dword [eax + 0x5c]
call fcn.00440330
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x54], 0
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x433eca
cmp ecx, 1
jne 0x433f10
movups xmm0, xmmword [ebp - 0xb0]
push ecx
mov dword [esp], 0x3f800000
lea ecx, [ebp - 0x78]
push dword [ebp - 0x58]
movd xmm1, esi
cvtdq2ps xmm1, xmm1
push ecx
lea ecx, [ebp - 0x54]
push ecx
mov ecx, eax
movss dword [ebp - 0x74], xmm0
movups xmm0, xmmword [ebp - 0xe0]
movss dword [ebp - 0x78], xmm1
movss dword [ebp - 0x54], xmm1
movss dword [ebp - 0x50], xmm0
call fcn.00442140
mov ecx, dword [ebp - 0x20]
cmp ecx, 2
je 0x433f1a
cmp ecx, 3
jne 0x433f63
movaps xmm0, xmmword [ebp - 0x70]
lea eax, [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x18]
mov dword [esp], 0x3f800000
push dword [ebp - 0x58]
movd xmm1, edi
mov ecx, dword [ebp + ecx*4 - 0x98]
cvtdq2ps xmm1, xmm1
push eax
lea eax, [ebp - 0x44]
push eax
movss dword [ebp - 0x4c], xmm0
movss xmm0, dword [ebp - 0x3c]
movss dword [ebp - 0x48], xmm1
movss dword [ebp - 0x44], xmm0
movss dword [ebp - 0x40], xmm1
call fcn.00442140
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
movss xmm3, dword [ebp - 0x24]
inc eax
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0x5c]
jl 0x433db0
movss xmm2, dword [0x46e434]
movss xmm6, dword [0x46e5d4]
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov esi, dword [ebx + 0xc]
mov edi, dword [ebp - 0x7c]
test edi, edi
je 0x433fa1
test byte [edi + 0x10], 0x10
jne 0x433fba
cmp byte [edx + 0x58], 0
jne 0x433fba
inc ecx
add eax, 0x10
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x34], eax
cmp ecx, 4
jl 0x433cf0
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret