Function at 0x10030da0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
lea ebp, [esp - 0x194]
sub esp, 0x194
push 0xffffffffffffffff
push 0x10041c8b
mov eax, dword fs:[0]
push eax
sub esp, 0x120
mov eax, dword [0x1005200c]
xor eax, ebp
mov dword [ebp + 0x190], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [0x10febd04], 0
jne 0x10030e3a
cmp byte [0x10febc9c], 0
jne 0x10030e3a
cmp byte [0x10febca0], 0
jne 0x10030e3a
cmp byte [0x10febca9], 0
jne 0x10030e3a
cmp byte [0x10febca1], 0
jne 0x10030e3a
cmp byte [0x10febca2], 0
jne 0x10030e3a
cmp byte [0x10febca3], 0
jne 0x10030e3a
cmp byte [0x10febca6], 0
jne 0x10030e3a
cmp byte [0x10febca7], 0
jne 0x10030e3a
cmp byte [0x10febca5], 0
je 0x10031cf8
mov eax, dword [0x1006c4bc]
mov esi, 1
xor ebx, ebx
mov dword [ebp - 0x38], esi
cmp dword [eax + 0x14], esi
jl 0x10031cf8
mov ecx, dword [0x1006c4c0]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [0x1006c4b4]
mov edi, eax
mov dword [ebp - 0xb0], edi
mov edx, dword [ecx]
mov edx, dword [edx + 0x30]
call edx
mov ecx, dword [0x1006c4c0]
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
mov dword [ebp - 0x28], eax
test edi, edi
je 0x10031ce6
mov ecx, dword [0x1006c4bc]
movss xmm1, dword [0x1004cf24]
movss xmm0, dword [0x1004d0c0]
divss xmm1, dword [ecx + 0x10]
lea ecx, [edi + 8]
divss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x10030ed9
mov eax, dword [esi*4 + 0x11e39280]
test eax, eax
jle 0x10030ed9
sub eax, dword [ebp - 0x1c]
mov dword [esi*4 + 0x11e39280], eax
jmp 0x10030eff
cmp dword [esi*4 + 0x11e39280], 0x82
jge 0x10030eff
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x20]
call eax
test al, al
jne 0x10030eff
mov ecx, dword [ebp - 0x1c]
add dword [esi*4 + 0x11e39280], ecx
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x20]
call eax
test al, al
jne 0x10031ce6
mov ecx, edi
call fcn.1000bf80
cmp dword [eax], 0
jne 0x10031ce6
cmp byte [0x10febcaf], 0
je 0x10030f47
mov ecx, dword [ebp - 0x28]
call fcn.1000bb40
mov ecx, edi
mov esi, dword [eax]
call fcn.1000bb40
cmp dword [eax], esi
mov esi, dword [ebp - 0x38]
je 0x10031ce6
cmp byte [esi + 0x10febfb0], 0
je 0x10030f5c
mov dword [ebp - 0x50], 0xffffffff
mov ebx, dword [ebp - 0x50]
jmp 0x10030f81
mov ecx, edi
call fcn.1000bb40
cmp dword [eax], 2
jne 0x10030f70
mov ebx, dword [0x10feba38]
jmp 0x10030f81
mov ecx, edi
call fcn.1000bb40
cmp dword [eax], 3
cmove ebx, dword [0x10feba34]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x24]
mov ecx, edi
movss xmm0, dword [eax]
movq qword [ebp - 0x44], xmm0
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x18], xmm0
movss dword [ebp - 0xd4], xmm0
movss xmm0, dword [eax + 8]
movss dword [ebp - 0x1c], xmm0
movss dword [ebp - 0xd0], xmm0
call fcn.1000bd10
movss xmm0, dword [ebp - 0x1c]
movss xmm1, dword [ebp - 0x18]
mov eax, dword [eax]
shr eax, 1
and al, 1
mov dword [ebp - 0x20], eax
je 0x10030ff1
addss xmm0, dword [0x1004d034]
movss dword [ebp - 0x118], xmm0
mov eax, dword [ebp - 0x118]
jmp 0x10031007
addss xmm0, dword [0x1004d04c]
movss dword [ebp - 0x124], xmm0
mov eax, dword [ebp - 0x124]
movq xmm0, qword [ebp - 0x44]
mov dword [ebp - 0xc4], eax
lea eax, [ebp - 0xfc]
push eax
lea eax, [ebp - 0xd8]
unpcklps xmm0, xmm1
push eax
movq qword [ebp - 0xcc], xmm0
call fcn.10039430
test al, al
je 0x10031ce6
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0xcc]
push eax
call fcn.10039430
test al, al
je 0x10031ce6
cmp byte [0x10febca3], 0
je 0x100310bf
movss xmm1, dword [edi + 0xe4]
movss xmm0, dword [edi + 0xe0]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1000ba40
comiss xmm0, dword [0x1004cfe4]
jbe 0x100310bf
mov eax, dword [esi*4 + 0x11e39280]
cmp eax, 0xa0
jle 0x1003109b
mov eax, 0xa0
jmp 0x100310a2
xor ecx, ecx
test eax, eax
cmovs eax, ecx
push dword [esi*4 + 0x10f611d0]
mov byte [ebp - 0x51], al
mov word [ebp - 0x54], 0xdcff
mov byte [ebp - 0x52], 0x50
push dword [ebp - 0x54]
push edi
call fcn.10020ab0
cmp byte [0x10febca2], 0
je 0x100310e7
mov eax, dword [esi*4 + 0x11e39280]
push 0xffffffffffffffff
mov byte [ebp - 0x55], al
mov word [ebp - 0x58], 0xffff
mov byte [ebp - 0x56], 0xff
push dword [ebp - 0x58]
push edi
call fcn.10020ab0
cmp byte [esi + 0x10febfb0], 0
je 0x100310ff
mov dword [ebp - 0x5c], 0xffffffff
mov ebx, dword [ebp - 0x5c]
jmp 0x100311cc
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x24]
mov ecx, dword [ebp - 0x28]
movss xmm0, dword [eax]
addss xmm0, dword [edi + 0xd4]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [edi + 0xd8]
addss xmm0, dword [eax + 4]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [edi + 0xdc]
addss xmm0, dword [eax + 8]
mov eax, dword [ecx]
movss dword [ebp - 0xdc], xmm0
call dword [eax + 0x24]
mov ecx, dword [ebp - 0x28]
lea edx, [ebp - 0xe4]
push ecx
push edi
movss xmm0, dword [eax]
addss xmm0, dword [ecx + 0xd4]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [eax + 4]
addss xmm0, dword [ecx + 0xd8]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [eax + 8]
addss xmm0, dword [ecx + 0xdc]
lea ecx, [ebp - 0xf0]
movss dword [ebp - 0xe8], xmm0
call fcn.100307a0
add esp, 8
test al, al
je 0x100311cc
mov ecx, edi
call fcn.1000bb40
cmp dword [eax], 2
jne 0x100311bb
mov ebx, dword [0x10feba40]
jmp 0x100311cc
mov ecx, edi
call fcn.1000bb40
cmp dword [eax], 3
cmove ebx, dword [0x10feba3c]
cmp byte [ebp - 0x20], 0
movss xmm0, dword [ebp - 0xf8]
movss xmm2, dword [ebp - 0x110]
subss xmm0, xmm2
movss dword [ebp - 0x10], xmm2
movaps xmm1, xmm0
movss dword [ebp - 0x1c], xmm0
mulss xmm1, dword [0x1004cec4]
movss dword [ebp - 0x18], xmm1
je 0x1003120d
mulss xmm1, dword [0x1004cf48]
movss dword [ebp - 0x18], xmm1
movss xmm3, dword [ebp - 0x114]
mov eax, dword [0x10febd04]
movss dword [ebp - 0x28], xmm3
subss xmm3, xmm1
movss dword [ebp - 0x24], xmm3
cmp eax, 1
jne 0x10031289
mov eax, ebx
mov dword [ebp - 0x60], 0xff000000
push dword [ebp - 0x60]
shr eax, 0x18
mov dword [ebp - 0x20], eax
mov eax, ebx
shr eax, 0x10
movzx edx, al
mov eax, ebx
shr eax, 8
movzx ecx, al
movzx eax, bl
mov byte [ebp - 0x64], al
mov eax, dword [ebp - 0x20]
mov byte [ebp - 0x61], al
cvttss2si eax, xmm0
mov byte [ebp - 0x63], cl
mov byte [ebp - 0x62], dl
movaps xmm0, xmm1
push dword [ebp - 0x64]
addss xmm0, xmm1
push eax
cvttss2si eax, xmm0
push eax
cvttss2si eax, xmm2
push eax
cvttss2si eax, xmm3
push eax
call fcn.10020a00
jmp 0x100314e9
cmp eax, 2
jne 0x100314e9
movaps xmm0, xmm1
mov dword [ebp - 0x68], 0xff000000
mulss xmm0, dword [0x1004cef8]
push dword [ebp - 0x68]
cvttss2si eax, xmm0
push 3
movaps xmm0, xmm2
subss xmm0, dword [0x1004cf24]
mov dword [ebp - 0x14], eax
add eax, 2
push eax
cvttss2si esi, xmm0
movaps xmm0, xmm3
subss xmm0, dword [0x1004cf24]
push esi
cvttss2si edi, xmm0
push edi
mov dword [ebp - 0xb4], edi
call fcn.10020980
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x6c], 0xff000000
add eax, 2
push dword [ebp - 0x6c]
push eax
push 3
push esi
push edi
call fcn.10020980
mov ecx, dword [ebp - 0x14]
movss xmm1, dword [ebp - 0x28]
addss xmm1, dword [ebp - 0x18]
mov dword [ebp - 0x70], 0xff000000
push dword [ebp - 0x70]
movd xmm0, ecx
lea edi, [ecx + 2]
cvtdq2ps xmm0, xmm0
push 3
push edi
push esi
movss dword [ebp - 0x28], xmm1
subss xmm1, xmm0
movaps xmm0, xmm1
movss dword [ebp - 0x20], xmm1
subss xmm0, dword [0x1004cf24]
cvttss2si eax, xmm0
push eax
mov dword [ebp - 0xac], eax
call fcn.10020980
movss xmm0, dword [ebp - 0x28]
subss xmm0, dword [0x1004cf24]
mov dword [ebp - 0x74], 0xff000000
push dword [ebp - 0x74]
push edi
cvttss2si eax, xmm0
push 3
push esi
push eax
mov dword [ebp - 0x4c], eax
call fcn.10020980
movss xmm0, dword [ebp - 0x10]
addss xmm0, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x78], 0xff000000
add eax, 2
push dword [ebp - 0x78]
movss dword [ebp - 0x48], xmm0
subss xmm0, dword [0x1004cfe0]
push 3
push eax
cvttss2si edi, xmm0
push edi
push dword [ebp - 0xb4]
call fcn.10020980
mov ecx, dword [ebp - 0x14]
movss xmm1, dword [ebp - 0x48]
mov dword [ebp - 0x7c], 0xff000000
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss dword [ebp - 0x40], xmm1
movaps xmm0, xmm1
subss xmm0, dword [0x1004cfe0]
push dword [ebp - 0x7c]
lea eax, [ecx + 2]
push eax
push 3
cvttss2si esi, xmm0
push esi
push dword [ebp - 0xb4]
call fcn.10020980
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x80], 0xff000000
add eax, 2
push dword [ebp - 0x80]
push 3
push eax
push edi
push dword [ebp - 0xac]
call fcn.10020980
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xa8], 0xff000000
add eax, 3
push dword [ebp - 0xa8]
push eax
push 3
push esi
push dword [ebp - 0x4c]
call fcn.10020980
cvttss2si esi, dword [ebp - 0x10]
push ebx
push 1
cvttss2si edi, dword [ebp - 0x24]
push dword [ebp - 0x14]
push esi
push edi
call fcn.10020980
push ebx
push dword [ebp - 0x14]
push 1
push esi
push edi
call fcn.10020980
cvttss2si eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x14]
push ebx
push 1
push edi
push esi
push eax
call fcn.10020980
cvttss2si eax, dword [ebp - 0x28]
push ebx
push edi
push 1
push esi
push eax
call fcn.10020980
movss xmm0, dword [ebp - 0x48]
subss xmm0, dword [0x1004cfb0]
cvttss2si eax, dword [ebp - 0x24]
push ebx
push 1
push dword [ebp - 0x14]
cvttss2si edi, xmm0
push edi
push eax
call fcn.10020980
movss xmm0, dword [ebp - 0x40]
subss xmm0, dword [0x1004cfb0]
cvttss2si eax, dword [ebp - 0x24]
push ebx
push dword [ebp - 0x14]
cvttss2si esi, xmm0
push 1
push esi
push eax
call fcn.10020980
cvttss2si eax, dword [ebp - 0x20]
push ebx
push 1
push dword [ebp - 0x14]
push edi
push eax
call fcn.10020980
mov eax, dword [ebp - 0x14]
push ebx
inc eax
push eax
cvttss2si eax, dword [ebp - 0x28]
push 1
push esi
push eax
call fcn.10020980
mov edi, dword [ebp - 0xb0]
mov esi, dword [ebp - 0x38]
cmp byte [0x10febca5], 0
je 0x10031521
mov eax, dword [esi*4 + 0x11e39280]
mov byte [ebp - 0x9d], al
mov word [ebp - 0xa0], 0xffff
mov byte [ebp - 0x9e], 0xff
push dword [ebp - 0xa0]
push dword [0x10feba84]
push edi
call fcn.100211f0
mov ecx, dword [0x1006c4b4]
lea edx, [ebp]
push edx
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
cmp byte [0x10febc9c], 0
je 0x10031645
cmp byte [esi + 0x10febfb0], 0
je 0x100315e9
mov dword [ebp + 0x84], 0x65697246
mov dword [ebp + 0x88], 0x203a646e
mov word [ebp + 0x8c], 0x7325
mov byte [ebp + 0x8e], 0
movss xmm0, dword [ebp - 0x10]
lea eax, [ebp]
push eax
mov dword [ebp - 4], 0
lea eax, [ebp + 0x84]
subss xmm0, dword [0x1004cffc]
push eax
mov dword [ebp - 0x9c], 0xffffffff
push dword [ebp - 0x9c]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x24]
addss xmm0, dword [ebp - 0x18]
push eax
cvttss2si eax, xmm0
push eax
push 0
push 1
push 0x1006c408
call fcn.10020570
mov dword [ebp - 4], 0xffffffff
xorps xmm0, xmm0
add esp, 0x20
movq qword [ebp + 0x84], xmm0
mov word [ebp + 0x8c], 0
mov byte [ebp + 0x8e], 0
jmp 0x10031645
mov word [ebp - 0x3c], 0x7325
mov byte [ebp - 0x3a], 0
movss xmm0, dword [ebp - 0x10]
lea eax, [ebp]
push eax
mov dword [ebp - 4], 1
lea eax, [ebp - 0x3c]
subss xmm0, dword [0x1004cffc]
push eax
push ebx
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x24]
addss xmm0, dword [ebp - 0x18]
push eax
cvttss2si eax, xmm0
push eax
push 0
push 1
push 0x1006c408
call fcn.10020570
add esp, 0x20
mov dword [ebp - 4], 0xffffffff
xor eax, eax
mov word [ebp - 0x3c], ax
mov byte [ebp - 0x3a], al
imul edx, esi, 0x37400
movss xmm1, dword [edx + 0x10fec39c]
lea ecx, [edx + 0x10fec398]
movss xmm2, dword [ecx + 8]
movss xmm0, dword [ecx + 0xc]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x4c], edx
subss xmm2, dword [edx + 0x10fedf40]
subss xmm1, dword [edx + 0x10fedf3c]
subss xmm0, dword [edx + 0x10fedf44]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
comiss xmm2, dword [0x1004d0cc]
seta al
test al, al
je 0x10031719
push ecx
call fcn.1002ce70
test al, al
je 0x100316bf
mov dword [ebp - 0xa4], 0xff00ff00
mov eax, dword [ebp - 0xa4]
jmp 0x100316cf
mov dword [ebp - 0x84], 0xff00ff00
mov eax, dword [ebp - 0x84]
movss xmm0, dword [ebp - 0x10]
addss xmm0, dword [0x1004cff0]
push 0x1004ac78
push eax
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x18]
addss xmm0, xmm0
push eax
addss xmm0, dword [ebp - 0x24]
addss xmm0, dword [0x1004cfb0]
cvttss2si eax, xmm0
push eax
push 0
push 0
push 0x1006c408
call fcn.10020200
mov ecx, dword [ebp - 0x40]
add esp, 0x1c
mov edx, dword [ebp - 0x4c]
cmp byte [0x10febc9d], 0
je 0x1003178d
movss xmm0, dword [ecx + 0x34]
subss xmm0, dword [edx + 0x10fedf6c]
mov eax, dword [0x1006c4bc]
mov dword [ebp - 0x88], 0xff0000ff
divss xmm0, dword [eax + 0x1c]
addss xmm0, dword [0x1004cef8]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x18]
push eax
cvttss2si eax, dword [ebp - 0x10]
push str.CH:_i
push dword [ebp - 0x88]
addss xmm0, xmm0
push eax
addss xmm0, dword [ebp - 0x24]
addss xmm0, dword [0x1004cfb0]
cvttss2si eax, xmm0
push eax
push 0
push 0
push 0x1006c408
call fcn.10020200
add esp, 0x20
mov ecx, edi
call fcn.1000c050
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
jle 0x10031900
mov eax, dword [esi*4 + 0x11e39280]
mov word [ebp - 0x2c], 0
mov byte [ebp - 0x2a], 0
mov byte [ebp - 0x29], al
cmp ecx, 0x64
jle 0x100317c8
mov dword [ebp - 0x2c], 0xe9ffff00
mov dword [ebp - 0x20], 0x64
cmp byte [0x10febc9f], 0
je 0x10031818
mov ecx, edi
mov dword [ebp - 0x8c], 0xff00ff00
call fcn.1002fec0
movss xmm0, dword [ebp - 0x24]
subss xmm0, dword [0x1004cff0]
push dword [eax]
cvttss2si eax, dword [ebp - 0x10]
push 0x1004ac80
push dword [ebp - 0x8c]
push eax
cvttss2si eax, xmm0
push eax
push 0
push 2
push 0x1006c408
call fcn.100203b0
add esp, 0x20
cmp byte [0x10febca0], 0
je 0x10031900
movss xmm0, dword [ebp - 0x1c]
addss xmm0, dword [0x1004cfb0]
movss xmm2, dword [ebp - 0x10]
mov esi, dword [ebp - 0x2c]
push esi
push 4
addss xmm2, xmm0
movss xmm0, dword [ebp - 0x18]
addss xmm0, xmm0
cvttss2si ecx, xmm2
movss dword [ebp - 0x48], xmm0
addss xmm0, dword [0x1004cf88]
movss dword [ebp - 0x10], xmm2
mov dword [ebp - 0x40], ecx
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x24]
subss xmm0, dword [0x1004cf24]
push eax
push ecx
cvttss2si eax, xmm0
push eax
call fcn.100209c0
cvttss2si eax, dword [ebp - 0x48]
push esi
mov esi, dword [ebp - 0x40]
push 2
cvttss2si edi, dword [ebp - 0x24]
push eax
push esi
push edi
call fcn.10020980
movd xmm1, dword [ebp - 0x20]
movss xmm0, dword [ebp - 0x48]
cvttss2si eax, dword [0x10febcd8]
mov byte [ebp - 0x8d], 0xff
cvttss2si edx, dword [0x10febce0]
mov byte [ebp - 0x90], al
cvttss2si ecx, dword [0x10febcdc]
mov byte [ebp - 0x8e], dl
cvtdq2pd xmm1, xmm1
mov byte [ebp - 0x8f], cl
push dword [ebp - 0x90]
mulsd xmm1, qword [0x1004cf28]
push 2
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
push eax
push esi
push edi
call fcn.10020980
mov edi, dword [ebp - 0xb0]
mov eax, dword fs:[0x2c]
mov esi, dword [0x10068354]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11e39b10]
cmp eax, dword [ecx + 4]
jle 0x1003195d
push 0x11e39b10
call fcn.1003e015
add esp, 4
cmp dword [0x11e39b10], 0xffffffff
jne 0x1003195d
push 0x11e39b10
mov dword [0x11e39b3c], 0
mov dword [0x11e39b40], 0
mov dword [0x11e39b44], 0x42560000
call fcn.1003dfd6
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11e39b34]
cmp eax, dword [ecx + 4]
jle 0x100319b4
push 0x11e39b34
call fcn.1003e015
add esp, 4
cmp dword [0x11e39b34], 0xffffffff
jne 0x100319b4
push 0x11e39b34
mov dword [0x11e39b28], 0
mov dword [0x11e39b2c], 0
mov dword [0x11e39b30], 0x42900000
call fcn.1003dfd6
add esp, 4
mov ecx, edi
call fcn.1000bd10
mov ecx, 0x11e39b28
test byte [eax], 2
mov eax, 0x11e39b3c
cmove eax, ecx
mov ecx, edi
movss xmm0, dword [eax]
movss dword [ebp - 0x40], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x4c], xmm0
movss xmm0, dword [eax + 8]
mov eax, dword [edi]
movss dword [ebp - 0xac], xmm0
call dword [eax + 0x24]
movss xmm0, dword [ebp - 0x40]
addss xmm0, dword [eax]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [eax + 4]
addss xmm0, dword [ebp - 0x4c]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [eax + 8]
lea eax, [ebp - 0xc0]
addss xmm0, dword [ebp - 0xac]
push eax
lea eax, [ebp - 0x108]
push eax
movss dword [ebp - 0x100], xmm0
call fcn.10039430
test al, al
je 0x10031cf8
cmp byte [0x10febca9], 0
je 0x10031b99
mov ecx, edi
call fcn.1002ffa0
cmp dword [eax], 0x64
jge 0x10031a69
mov ecx, edi
call fcn.1002ffa0
mov eax, dword [eax]
jmp 0x10031a6e
mov eax, 0x64
movd xmm0, eax
xorps xmm1, xmm1
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x20], eax
comiss xmm0, xmm1
jbe 0x10031b99
mov ecx, edi
mov dword [ebp - 0x30], 0xff555555
call fcn.10030070
cmp byte [eax], 0
je 0x10031a9e
mov dword [ebp - 0x30], 0xff000000
movss xmm0, dword [ebp - 0x1c]
addss xmm0, dword [0x1004cf88]
movss xmm1, dword [ebp - 0xc0]
subss xmm1, dword [ebp - 0x18]
mov esi, dword [ebp - 0x30]
push esi
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0xbc]
subss xmm0, dword [0x1004cf24]
push eax
push 4
movss dword [ebp - 0x40], xmm1
cvttss2si eax, xmm0
movaps xmm0, xmm1
subss xmm0, dword [0x1004cfec]
push eax
cvttss2si eax, xmm0
push eax
call fcn.100209c0
cvttss2si eax, dword [0x10febce4]
mov byte [ebp - 0x91], 0xff
cvttss2si ecx, dword [0x10febce8]
mov byte [ebp - 0x94], al
cvttss2si edx, dword [0x10febcec]
mov byte [ebp - 0x93], cl
movss xmm0, dword [ebp - 0x40]
cvttss2si eax, dword [ebp - 0x1c]
mov byte [ebp - 0x92], dl
subss xmm0, dword [0x1004cfe4]
cvttss2si ecx, dword [ebp - 0xbc]
push dword [ebp - 0x94]
cvttss2si edi, xmm0
push eax
push 2
push ecx
push edi
call fcn.10020980
mov eax, dword [ebp - 0x20]
movss xmm0, dword [0x1004d064]
push esi
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm0, xmm1
mulss xmm0, dword [ebp - 0x1c]
mulss xmm0, dword [0x1004ce54]
addss xmm0, dword [0x1004cf24]
cvttss2si eax, xmm0
push eax
cvttss2si eax, dword [ebp - 0xbc]
push 2
push eax
push edi
call fcn.10020980
mov edi, dword [ebp - 0xb0]
cmp byte [0x10febcae], 0
je 0x10031be2
mov ecx, dword [0x1006c41c]
mov dword [ebp - 0x98], 0xbeff00ff
push dword [ebp - 0x98]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
cvttss2si esi, dword [ebp - 0xf8]
mov ecx, dword [0x1006c41c]
push 0
push 0
mov eax, dword [ecx]
cvttss2si edx, dword [ebp - 0xfc]
mov eax, dword [eax + 0x3c]
push esi
push edx
call eax
mov ecx, dword [0x1006c4c0]
push dword [edi + 0xb38]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, eax
test ecx, ecx
je 0x10031c00
mov eax, dword [ecx]
call dword [eax + 0x1c]
test eax, eax
je 0x10031ce3
cmp byte [0x10febca0], 0
je 0x10031c25
movss xmm0, dword [ebp - 0x10]
addss xmm0, dword [0x1004cfe4]
movss dword [ebp - 0x10], xmm0
jmp 0x10031c3c
movss xmm1, dword [ebp - 0x1c]
addss xmm1, dword [0x1004cfe4]
addss xmm1, dword [ebp - 0x10]
movss dword [ebp - 0x10], xmm1
mov ecx, eax
call fcn.1002da10
lea edx, [ebp + 0x90]
sub edx, eax
nop dword [eax + eax]
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [edx + eax - 1], cl
test cl, cl
jne 0x10031c50
lea esi, [ebp + 0x90]
cmp byte [ebp + 0x90], cl
je 0x10031c87
nop dword [eax + eax]
movsx eax, byte [esi]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
mov byte [esi], al
lea esi, [esi + 1]
add esp, 4
cmp byte [esi], 0
jne 0x10031c70
cmp byte [0x10febca1], 0
je 0x10031ce3
mov word [ebp - 0x34], 0x7325
mov byte [ebp - 0x32], 0
movss xmm0, dword [ebp - 0x24]
lea eax, [ebp + 0x90]
push eax
lea eax, [ebp - 0x34]
mov dword [ebp - 4], 2
addss xmm0, dword [ebp - 0x18]
push eax
cvttss2si eax, dword [ebp - 0x10]
push ebx
push eax
cvttss2si eax, xmm0
push eax
push 0
push 1
push 0x1006c408
call fcn.10020200
add esp, 0x20
mov dword [ebp - 4], 0xffffffff
xor eax, eax
mov word [ebp - 0x34], ax
mov byte [ebp - 0x32], al
mov esi, dword [ebp - 0x38]
mov eax, dword [0x1006c4bc]
inc esi
mov dword [ebp - 0x38], esi
cmp esi, dword [eax + 0x14]
jle 0x10030e52
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x190]
xor ecx, ebp
call fcn.1003da32
lea esp, [ebp + 0x194]
pop ebp
ret