Function at 0x100dc910
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100ec875
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x408
mov eax, dword [0x100fc040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebx + 8]
mov dword [ebp - 0x35c], 0
lea edi, [esi + 8]
mov eax, dword [edi]
mov ecx, edi
mov dword [ebp - 0x34c], esi
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x1012b9b4]
mov edx, dword [0x1012bb94]
add edx, 0xffffffd6
mov dword [ebp - 0x350], eax
mov eax, dword [0x100fc0a4]
xor edx, 0x418206cc
movss xmm0, dword [ecx + 0x14]
mulss xmm0, dword [0x100f1280]
mov ecx, dword [edx + esi]
movss dword [ebp - 0x18], xmm0
cmp ecx, dword [edx + eax]
je 0x100dc9b3
mov byte [ebp - 0x341], 1
jmp 0x100dc9c9
mov ecx, dword [0x1012ba34]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
setne byte [ebp - 0x341]
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x24]
call eax
cmp byte [0x1010326c], 0
mov dl, al
mov dh, byte [ebp - 0x341]
je 0x100dca0b
test dh, dh
je 0x100dca0b
test dl, dl
jne 0x100dca1e
mov eax, dword [0x1012bc14]
add eax, 0xffffffb6
xor eax, 0x418206ed
mov byte [eax + esi], 1
mov eax, dword [ebp - 0x350]
mov byte [eax + 0x1012f387], 1
jmp 0x100dca31
test dl, dl
jne 0x100dca1e
mov eax, dword [ebp - 0x350]
mov byte [eax + 0x1012f387], 1
jmp 0x100dca31
mov eax, dword [ebp - 0x350]
cmp byte [eax + 0x1012f387], 0
je 0x100deccd
movss xmm0, dword [eax*4 + 0x1012f3c4]
lea ecx, [eax*4 + 0x1012f3c4]
test dl, dl
je 0x100dca4c
subss xmm0, dword [ebp - 0x18]
jmp 0x100dca51
addss xmm0, dword [ebp - 0x18]
movss dword [ecx], xmm0
test dh, dh
je 0x100dca66
cmp byte [0x10101358], 0
je 0x100dca66
mov dh, 1
jmp 0x100dca68
xor dh, dh
comiss xmm0, dword [0x100f1220]
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x3f800000
xorps xmm0, xmm0
cmovbe eax, ecx
movss xmm1, dword [eax]
maxss xmm1, xmm0
ucomiss xmm1, xmm0
movss dword [ecx], xmm1
lahf
test ah, 0x44
jp 0x100dca9c
test dh, dh
je 0x100deccd
mov ecx, dword [0x1012bbf0]
mov eax, dword [0x1012b9b4]
add ecx, 0xffffffbf
xor ecx, 0x418206e4
movss xmm2, dword [eax + 0x10]
subss xmm2, dword [ecx + esi]
test dl, dl
je 0x100dcacb
comiss xmm2, dword [0x100f12cc]
ja 0x100deccd
cmp byte [ebp - 0x341], 0
movaps xmm0, xmm1
mulss xmm1, dword [0x100f1384]
mulss xmm0, dword [0x100f1394]
cvttss2si eax, xmm1
cvttss2si ecx, xmm0
mov dword [ebp - 0x368], eax
mov eax, dword [0x101012e4]
cmovne eax, dword [0x10101254]
mov dword [ebp - 0x390], eax
mov dword [ebp - 0x358], ecx
test dl, dl
je 0x100dcb8e
test dh, dh
je 0x100dcb8e
movss xmm0, dword [0x100f12b4]
mov ecx, 0x70
comiss xmm2, xmm0
mov dword [ebp - 0x358], ecx
mov dword [ebp - 0x368], 0x50
jbe 0x100dcb78
subss xmm2, xmm0
movss xmm0, dword [0x100f1364]
movaps xmm1, xmm2
mulss xmm2, dword [0x100f12e0]
mulss xmm1, dword [0x100f12f8]
subss xmm0, xmm1
cvttss2si ecx, xmm0
movss xmm0, dword [0x100f1348]
subss xmm0, xmm2
mov dword [ebp - 0x358], ecx
cvttss2si eax, xmm0
mov dword [ebp - 0x368], eax
mov dword [ebp - 0x348], 0xff707070
mov eax, dword [ebp - 0x348]
mov dword [ebp - 0x390], eax
mov byte [ebp - 0x38d], cl
lea edx, [ebp - 0x340]
mov ecx, dword [0x1012b954]
push edx
push dword [ebp - 0x350]
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x100deccd
push dword [ebp - 0x358]
push esi
call fcn.100dc4e0
lea eax, [ebp - 0x3a0]
push eax
push esi
call fcn.100df2b0
test al, al
je 0x100deccd
cmp byte [ebp - 0x341], 0
lea edx, [ebp - 0x18]
push dword [0x10101bd0]
lea ecx, [ebp - 0x354]
push dword [0x10101bcc]
je 0x100dcc10
mov dword [ebp - 0x18], 0
call fcn.100325c0
mov ecx, dword [0x10101bd0]
add esp, 8
cmp dword [eax], ecx
jne 0x100dcc29
jmp 0x100dcc3e
mov dword [ebp - 0x18], 1
call fcn.100325c0
mov ecx, dword [0x10101bd0]
add esp, 8
cmp dword [eax], ecx
je 0x100dcc6e
push dword [ebp - 0x358]
push esi
call fcn.100df780
cmp byte [ebp - 0x341], 0
je 0x100dcc6e
push dword [0x101011c0]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push dword [0x101011bc]
lea ecx, [ebp - 0x354]
call fcn.100325c0
mov ecx, dword [0x101011c0]
add esp, 8
cmp dword [eax], ecx
jne 0x100dcc9c
jmp 0x100dcce0
push dword [0x101011c0]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 1
push dword [0x101011bc]
lea ecx, [ebp - 0x354]
call fcn.100325c0
mov ecx, dword [0x101011c0]
add esp, 8
cmp dword [eax], ecx
je 0x100dcd13
mov edx, dword [ebp - 0x39c]
push ecx
mov ecx, dword [ebp - 0x368]
mov eax, esp
push dword [ebp - 0x390]
push dword [ebp - 0x394]
mov byte [eax + 3], cl
push dword [ebp - 0x398]
mov ecx, dword [ebp - 0x3a0]
mov word [eax], 0xa0a
mov byte [eax + 2], 0xa
call fcn.100d4a60
add esp, 0x10
cmp byte [ebp - 0x341], 0
je 0x100dcd13
push dword [0x10101528]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push dword [0x10101524]
lea ecx, [ebp - 0x354]
call fcn.100325c0
mov ecx, dword [0x10101528]
add esp, 8
cmp dword [eax], ecx
jne 0x100dcd45
jmp 0x100dd003
push dword [0x10101528]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 1
push dword [0x10101524]
lea ecx, [ebp - 0x354]
call fcn.100325c0
mov ecx, dword [0x10101528]
add esp, 8
cmp dword [eax], ecx
je 0x100dd036
lea eax, [ebp - 0x330]
push eax
lea ecx, [ebp - 0x78]
call fcn.10031fb0
lea eax, [ebp - 0x354]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x78]
call fcn.10053f60
lea ecx, [ebp - 0x78]
mov esi, dword [eax]
lea eax, [ebp - 0x18]
push eax
call fcn.10053f40
lea ecx, [ebp - 0x78]
mov edx, dword [eax]
lea eax, [ebp - 0x3a4]
push eax
call fcn.10053f60
push esi
push edx
mov edx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
lea ecx, [ebp - 0x350]
push dword [eax]
call fcn.100543b0
add esp, 0xc
cmp dword [ebp - 0x68], 0xc
jbe 0x100dcddc
push 0
push 0xc
lea ecx, [ebp - 0x78]
call fcn.1003eb90
mov eax, dword [0x101015bc]
mov dword [ebp - 0x360], eax
mov eax, dword [ebp - 0x358]
mov byte [ebp - 0x35d], al
lea eax, [ebp - 0x348]
mov dword [ebp - 0x348], 0x2e2e2e
jmp 0x100dce00
mov eax, dword [0x101015bc]
mov dword [ebp - 0x360], eax
mov eax, dword [ebp - 0x358]
mov byte [ebp - 0x35d], al
lea eax, [ebp - 0x361]
mov byte [ebp - 0x361], 0
push eax
lea ecx, [ebp - 0x78]
call fcn.100446f0
mov esi, dword [ebp - 0x39c]
mov ecx, eax
mov eax, dword [ebp - 0x398]
sub esi, dword [0x1012f2a8]
push 2
cdq
push ecx
push dword [ebp - 0x360]
sub eax, edx
mov ecx, 0x1012f2a0
sar eax, 1
add eax, dword [ebp - 0x3a0]
push esi
push eax
mov dword [ebp - 0x350], eax
call fcn.100d54a0
mov eax, dword [0x1012bc74]
mov ecx, dword [ebp - 0x34c]
add eax, 0xffffff9e
xor eax, 0x41820705
mov byte [ebp - 0x361], 0
mov eax, dword [eax + ecx]
mov ecx, dword [0x1012b958]
push ecx
mov edx, dword [ecx]
mov esi, dword [edx + 0x10]
mov edx, esp
mov dword [edx], eax
call esi
test eax, eax
je 0x100dcfeb
mov eax, dword [0x1012bc74]
mov ecx, dword [ebp - 0x34c]
add eax, 0xffffff9e
xor eax, 0x41820705
mov eax, dword [eax + ecx]
mov ecx, dword [0x1012b958]
push ecx
mov edx, dword [ecx]
mov esi, dword [edx + 0x10]
mov edx, esp
mov dword [edx], eax
call esi
mov ecx, eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
test eax, eax
je 0x100dcfeb
mov eax, dword [0x1012bc74]
mov ecx, dword [ebp - 0x34c]
add eax, 0xffffff9e
xor eax, 0x41820705
mov eax, dword [eax + ecx]
mov ecx, dword [0x1012b958]
push ecx
mov edx, dword [ecx]
mov esi, dword [edx + 0x10]
mov edx, esp
mov dword [edx], eax
call esi
mov ecx, eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
mov eax, dword [eax + 0xc8]
cmp eax, 7
je 0x100dcefe
test eax, eax
je 0x100dcefe
cmp eax, 9
jne 0x100dcf05
mov byte [ebp - 0x361], 1
mov eax, dword [0x1012bb18]
mov esi, dword [ebp - 0x34c]
mov ecx, dword [esi + eax]
movss xmm0, dword [ecx + 0x58]
ucomiss xmm0, dword [0x100f110c]
lahf
test ah, 0x44
jnp 0x100dcf67
mov eax, dword [ecx + 0x50]
mov ecx, dword [0x1012bad0]
mov dword [ebp - 0x3a4], ecx
mov ecx, dword [0x1012bb34]
mov dword [ebp - 0x18], eax
cmp dword [esi + ecx], 0
jne 0x100dcf55
mov eax, dword [0x1012baac]
mov ecx, esi
call eax
mov ecx, dword [0x1012bb34]
mov eax, dword [ebp - 0x18]
mov ecx, dword [esi + ecx]
mov edx, eax
call dword [ebp - 0x3a4]
cmp eax, 0x3c7
je 0x100dcf70
cmp byte [ebp - 0x361], 0
je 0x100dcfeb
mov dword [ebp - 0x30], 0x60627b78
xor eax, eax
mov dword [ebp - 0x2c], 0x6c6f7c6b
mov word [ebp - 0x28], 0x6b62
mov byte [ebp - 0x26], 0x2e
nop word [eax + eax]
xor byte [ebp + eax - 0x30], 0x2e
inc eax
cmp eax, 0xb
jb 0x100dcf90
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x48]
call fcn.10031fb0
push 2
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x39c]
sub ecx, dword [0x1012f2a8]
push eax
mov eax, dword [ebp - 0x358]
sub ecx, 8
movzx eax, al
shl eax, 0x18
or eax, 0x3cc896
push eax
push ecx
push dword [ebp - 0x350]
mov ecx, 0x1012f2ac
call fcn.100d54a0
lea ecx, [ebp - 0x48]
call fcn.10031f60
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
call fcn.10031f60
cmp byte [ebp - 0x341], 0
je 0x100dd036
push dword [0x10101660]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push dword [0x1010165c]
lea ecx, [ebp - 0x354]
call fcn.100325c0
mov ecx, dword [0x10101660]
add esp, 8
cmp dword [eax], ecx
jne 0x100dd068
jmp 0x100dd164
push dword [0x10101660]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 1
push dword [0x1010165c]
lea ecx, [ebp - 0x354]
call fcn.100325c0
mov ecx, dword [0x10101660]
add esp, 8
cmp dword [eax], ecx
je 0x100dd164
mov eax, dword [0x1012bbc8]
mov ecx, 0x64
mov esi, dword [ebp - 0x394]
add eax, 0xffffffc9
xor eax, 0x418206d9
add esi, 0xfffffffe
add eax, dword [ebp - 0x34c]
cmp dword [eax], ecx
cmovl ecx, dword [eax]
imul ecx, esi
push ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x100f1140]
movss dword [ebp - 0x18], xmm0
fld dword [ebp - 0x18]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
mov edx, dword [ebp - 0x39c]
mov eax, esp
mov ecx, dword [ebp - 0x368]
push esi
mov esi, dword [ebp - 0x3a0]
mov byte [eax + 3], cl
lea edx, [edx + 1]
push 2
fstp dword [ebp - 0x18]
lea ecx, [esi - 5]
mov word [eax], 0x5a5a
mov byte [eax + 2], 0x5a
call fcn.100d4a20
mov ecx, dword [ebp - 0x358]
add esp, 8
mov edx, dword [ebp - 0x394]
mov eax, esp
add edx, 0xfffffffe
mov byte [eax + 3], cl
cvttss2si ecx, dword [ebp - 0x18]
mov word [eax], 0xc896
mov byte [eax + 2], 0x32
sub edx, ecx
lea eax, [ecx + 2]
mov ecx, dword [ebp - 0x39c]
push eax
push 4
lea edx, [edx + ecx]
lea ecx, [esi - 6]
call fcn.100d4a20
movd xmm0, dword [ebp - 0x358]
lea ecx, [esi - 6]
cvtdq2ps xmm0, xmm0
add esp, 8
mov edx, esp
mulss xmm0, dword [0x100f11f4]
mov word [edx], 0x4646
mov byte [edx + 2], 0x46
cvttss2si eax, xmm0
mov byte [edx + 3], al
mov edx, dword [ebp - 0x39c]
mov eax, dword [ebp - 0x394]
push eax
push 4
lea edx, [edx]
call fcn.100d49e0
add esp, 0xc
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
movq qword [ebp - 0x24], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
cmp byte [ebp - 0x341], 0
mov dword [ebp - 4], 2
movq qword [ebp - 0x6c], xmm0
mov dword [ebp - 0x64], 0
je 0x100dd1c1
push 0x10101704
lea ecx, [ebp - 0x418]
call fcn.100314b0
lea ecx, [ebp - 0x418]
mov edx, 9
jmp 0x100dd1dc
push 0x101017ac
lea ecx, [ebp - 0x40c]
call fcn.100314b0
lea ecx, [ebp - 0x40c]
mov edx, 6
mov esi, dword [ecx + 4]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x18], esi
mov esi, dword [ecx]
mov dword [ecx + 8], 0
mov dword [ecx + 4], 0
mov dword [ecx], 0
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x390], esi
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], eax
mov dword [ebp - 4], 4
test dl, 2
je 0x100dd233
and edx, 0xfffffffd
lea ecx, [ebp - 0x40c]
mov dword [ebp - 0x3a4], edx
call fcn.100315e0
mov edx, dword [ebp - 0x3a4]
mov byte [ebp - 4], 5
test dl, 1
je 0x100dd247
lea ecx, [ebp - 0x418]
call fcn.100315e0
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
dec eax
imul edi, eax, 0x54c
add edi, 0x1010eaac
mov dword [ebp - 0x3a4], edi
cmp byte [edi + 0x508], 0
je 0x100dd2f2
lea eax, [ebp - 0x3ac]
mov dword [ebp - 0x3ac], 0x4241414b
push eax
lea ecx, [ebp - 0x48]
mov word [ebp - 0x3a8], 0x41
call fcn.10031fb0
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x384]
mov byte [ebp - 4], 6
mov byte [ebp - 0x345], al
lea eax, [ebp - 0x348]
push eax
lea eax, [ebp - 0x48]
mov word [ebp - 0x348], 0xffff
push eax
mov byte [ebp - 0x346], 0xff
call fcn.100e0960
lea eax, [ebp - 0x384]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x24]
call fcn.100e0590
lea ecx, [ebp - 0x384]
call fcn.10031f60
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.10031f60
cmp byte [edi + 0x509], 0
je 0x100dd378
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x45454843
push eax
lea ecx, [ebp - 0x48]
mov word [ebp - 0x28], 0x4553
mov byte [ebp - 0x26], 0
call fcn.10031fb0
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x384]
mov byte [ebp - 4], 8
mov byte [ebp - 0x345], al
lea eax, [ebp - 0x348]
push eax
lea eax, [ebp - 0x48]
mov word [ebp - 0x348], 0xffff
push eax
mov byte [ebp - 0x346], 0xff
call fcn.100e0960
lea eax, [ebp - 0x384]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0x24]
call fcn.100e0590
lea ecx, [ebp - 0x384]
call fcn.10031f60
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.10031f60
cmp byte [edi + 0x50a], 0
je 0x100dd417
mov dword [ebp - 0x30], 0x6b6b666d
xor eax, eax
mov dword [ebp - 0x2c], 0x620e6b7d
mov dword [ebp - 0x28], 0x2e656f6b
nop dword [eax]
xor byte [ebp + eax - 0x30], 0x2e
inc eax
cmp eax, 0xc
jb 0x100dd3a0
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x48]
call fcn.10031fb0
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x384]
mov byte [ebp - 4], 0xa
mov byte [ebp - 0x345], al
lea eax, [ebp - 0x348]
push eax
lea eax, [ebp - 0x48]
mov word [ebp - 0x348], 0xffff
push eax
mov byte [ebp - 0x346], 0xff
call fcn.100e0960
lea eax, [ebp - 0x384]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x24]
call fcn.100e0590
lea ecx, [ebp - 0x384]
call fcn.10031f60
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.10031f60
push edi
call fcn.100d5c30
test eax, eax
je 0x100dd47d
lea ecx, [edi + 8]
xorps xmm0, xmm0
mov edi, dword [ecx + 0xc]
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x350], ecx
movlpd qword [ebp - 0x2c], xmm0
call fcn.100c5470
cmp edi, dword [ebp - 0x28]
je 0x100dd47d
mov esi, ecx
mov eax, dword [esi + 8]
mov edx, edi
dec eax
shr edx, 1
and edx, eax
mov ecx, edi
mov eax, dword [esi + 4]
and ecx, 1
mov eax, dword [eax + edx*4]
mov ecx, dword [eax + ecx*8]
cmp byte [ecx + 0x18], 0
jne 0x100dd471
xorps xmm0, xmm0
comiss xmm0, dword [ecx + 4]
jb 0x100dd471
call fcn.10037b70
inc edi
cmp edi, dword [ebp - 0x28]
jne 0x100dd445
mov esi, dword [ebp - 0x390]
cmp esi, dword [ebp - 0x18]
je 0x100de3c8
mov ecx, dword [ebp - 0x34c]
lea edi, [ecx + 8]
nop
xor al, al
test ecx, ecx
je 0x100dd4c4
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x1012b954]
mov edx, dword [ecx]
lea ecx, [ebp - 0x1e8]
push ecx
mov ecx, dword [0x1012b954]
push eax
mov edx, dword [edx + 0x20]
call edx
neg al
sbb al, al
and al, byte [ebp - 0xac]
cmp dword [esi], 0
jne 0x100dd617
test al, al
jne 0x100dd617
xorps xmm0, xmm0
mov dword [ebp - 0x3b4], 0x454b4146
lea ecx, [ebp - 0x3b4]
mov byte [ebp - 0x3b0], al
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x38], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x34], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100dd503
sub ecx, edx
lea eax, [ebp - 0x3b4]
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.10032850
mov eax, dword [ebp - 0x358]
lea ecx, [ebp - 0x384]
mov byte [ebp - 0x3cd], al
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0xc
mov word [ebp - 0x3d0], 0xffff
mov byte [ebp - 0x3ce], 0xff
call fcn.10036ef0
mov eax, dword [ebp - 0x3d0]
mov dword [ebp - 0x36c], eax
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100dd58f
movups xmm0, xmmword [ebp - 0x384]
mov edx, 0xf
mov byte [ebp - 0x384], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x374]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100dd5a5
lea eax, [ebp - 0x384]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100ba010
mov edx, dword [ebp - 0x370]
mov byte [ebp - 4], 0xc
cmp edx, 0xf
jbe 0x100dd5df
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x384]
mov eax, edx
cmp ecx, 0x1000
jb 0x100dd5d5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100de4b9
push ecx
push edx
call fcn.100e2296
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xf
jbe 0x100dd617
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100dd60d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100de4b9
push ecx
push edx
call fcn.100e2296
add esp, 8
cmp dword [esi], 1
jne 0x100dd74d
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
lea edx, [ebp - 0x38c]
mov dword [ebp - 0x38c], 0x4d206925
lea ecx, [ebp - 0x48]
mov word [ebp - 0x388], 0x53
lea eax, [eax*4 + 0x101316fc]
push eax
call fcn.100bd8f0
add esp, 4
mov ecx, dword [ebp - 0x358]
mov byte [ebp - 0x3d1], cl
lea ecx, [ebp - 0x384]
push eax
mov byte [ebp - 4], 0xe
mov word [ebp - 0x3d4], 0x7832
mov byte [ebp - 0x3d2], 0xff
call fcn.10036ef0
mov eax, dword [ebp - 0x3d4]
mov dword [ebp - 0x36c], eax
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100dd6c5
movups xmm0, xmmword [ebp - 0x384]
mov edx, 0xf
mov byte [ebp - 0x384], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x374]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100dd6db
lea eax, [ebp - 0x384]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100ba010
mov edx, dword [ebp - 0x370]
mov byte [ebp - 4], 0xe
cmp edx, 0xf
jbe 0x100dd715
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x384]
mov eax, edx
cmp ecx, 0x1000
jb 0x100dd70b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100de4b9
push ecx
push edx
call fcn.100e2296
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xf
jbe 0x100dd74d
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100dd743
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100de4b9
push ecx
push edx
call fcn.100e2296
add esp, 8
cmp dword [esi], 2
jne 0x100dd87d
mov eax, dword [0x1012bbcc]
lea edx, [ebp - 0x3d8]
add eax, 0xffffffc8
mov dword [ebp - 0x3d8], 0x692524
xor eax, 0x418206da
lea ecx, [ebp - 0x48]
add eax, dword [ebp - 0x34c]
push eax
call fcn.100bd8f0
add esp, 4
mov ecx, dword [ebp - 0x368]
mov byte [ebp - 0x3d9], cl
lea ecx, [ebp - 0x384]
push eax
mov byte [ebp - 4], 0x10
mov word [ebp - 0x3dc], 0xc896
mov byte [ebp - 0x3da], 0x3c
call fcn.10036ef0
mov eax, dword [ebp - 0x3dc]
mov dword [ebp - 0x36c], eax
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100dd7f5
movups xmm0, xmmword [ebp - 0x384]
mov edx, 0xf
mov byte [ebp - 0x384], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x374]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100dd80b
lea eax, [ebp - 0x384]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100ba010
mov edx, dword [ebp - 0x370]
mov byte [ebp - 4], 0x10
cmp edx, 0xf
jbe 0x100dd845
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x384]
mov eax, edx
cmp ecx, 0x1000
jb 0x100dd83b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100de4b9
push ecx
push edx
call fcn.100e2296
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xf
jbe 0x100dd87d
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100dd873
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100de4b9
push ecx
push edx
call fcn.100e2296
add esp, 8
cmp dword [esi], 3
mov ecx, dword [ebp - 0x34c]
jne 0x100ddbca
mov eax, dword [0x1012bc00]
add eax, 0xffffffbb
xor eax, 0x418206e8
cmp byte [eax + ecx], 0
mov eax, dword [0x1012bc1c]
je 0x100dda72
add eax, 0xffffffb4
mov dword [ebp - 0x38], 0
xor eax, 0x418206ef
mov dword [ebp - 0x34], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x48], xmm0
cmp dword [eax + ecx], 0
jle 0x100dd9a2
lea ecx, [ebp - 0x3c4]
mov dword [ebp - 0x3c4], 0x4d4c4548
mov byte [ebp - 0x3c0], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100dd8f0
sub ecx, edx
lea eax, [ebp - 0x3c4]
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.10032850
mov eax, dword [ebp - 0x358]
lea ecx, [ebp - 0x384]
mov byte [ebp - 0x3fd], al
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0x12
mov word [ebp - 0x400], 0xffff
mov byte [ebp - 0x3fe], 0xff
call fcn.10036ef0
mov eax, dword [ebp - 0x400]
mov dword [ebp - 0x36c], eax
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100dd983
movups xmm0, xmmword [ebp - 0x384]
mov edx, 0xf
mov byte [ebp - 0x384], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x374]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
mov byte [ebp - 4], 0x12
jmp 0x100ddb56
lea eax, [ebp - 0x384]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100ba010
mov edx, dword [ebp - 0x370]
mov byte [ebp - 4], 0x12
jmp 0x100ddb56
lea ecx, [ebp - 0x3bc]
mov dword [ebp - 0x3bc], 0x4d4c4548
mov byte [ebp - 0x3b8], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100dd9c0
sub ecx, edx
lea eax, [ebp - 0x3bc]
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.10032850
mov eax, dword [ebp - 0x358]
lea ecx, [ebp - 0x384]
mov byte [ebp - 0x3f9], al
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0x14
mov word [ebp - 0x3fc], 0xffff
mov byte [ebp - 0x3fa], 0xff
call fcn.10036ef0
mov eax, dword [ebp - 0x3fc]
mov dword [ebp - 0x36c], eax
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100dda53
movups xmm0, xmmword [ebp - 0x384]
mov edx, 0xf
mov byte [ebp - 0x384], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x374]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
mov byte [ebp - 4], 0x14
jmp 0x100ddb56
lea eax, [ebp - 0x384]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100ba010
mov edx, dword [ebp - 0x370]
mov byte [ebp - 4], 0x14
jmp 0x100ddb56
add eax, 0xffffffb4
xor eax, 0x418206ef
cmp dword [eax + ecx], 0
jle 0x100ddbca
xorps xmm0, xmm0
mov dword [ebp - 0x348], 0x56454b
lea ecx, [ebp - 0x348]
mov dword [ebp - 0x38], 0
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x34], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ddab0
sub ecx, edx
lea eax, [ebp - 0x348]
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.10032850
mov eax, dword [ebp - 0x358]
lea ecx, [ebp - 0x384]
mov byte [ebp - 0x3f5], al
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0x16
mov word [ebp - 0x3f8], 0xffff
mov byte [ebp - 0x3f6], 0xff
call fcn.10036ef0
mov eax, dword [ebp - 0x3f8]
mov dword [ebp - 0x36c], eax
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100ddb3c
movups xmm0, xmmword [ebp - 0x384]
mov edx, 0xf
mov byte [ebp - 0x384], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x374]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100ddb52
lea eax, [ebp - 0x384]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100ba010
mov edx, dword [ebp - 0x370]
mov byte [ebp - 4], 0x16
cmp edx, 0xf
jbe 0x100ddb8c
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x384]
mov eax, edx
cmp ecx, 0x1000
jb 0x100ddb82
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100de4b9
push ecx
push edx
call fcn.100e2296
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xf
jbe 0x100ddbc4
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ddbba
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100de4b9
push ecx
push edx
call fcn.100e2296
add esp, 8
mov ecx, dword [ebp - 0x34c]
cmp dword [esi], 4
jne 0x100ddd36
mov eax, dword [0x1012bc0c]
add eax, 0xffffffb8
xor eax, 0x418206eb
cmp byte [eax + ecx], 0
je 0x100ddd36
xorps xmm0, xmm0
mov dword [ebp - 0x3cc], 0x504f4353
lea ecx, [ebp - 0x3cc]
mov word [ebp - 0x3c8], 0x4445
mov byte [ebp - 0x3c6], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ddc22
sub ecx, edx
lea eax, [ebp - 0x3cc]
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.10032850
mov eax, dword [ebp - 0x358]
lea ecx, [ebp - 0x384]
mov byte [ebp - 0x3f1], al
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0x18
mov word [ebp - 0x3f4], 0xc8e6
mov byte [ebp - 0x3f2], 0x82
call fcn.10036ef0
mov eax, dword [ebp - 0x3f4]
mov dword [ebp - 0x36c], eax
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100ddcae
movups xmm0, xmmword [ebp - 0x384]
mov edx, 0xf
mov byte [ebp - 0x384], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x374]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100ddcc4
lea eax, [ebp - 0x384]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100ba010
mov edx, dword [ebp - 0x370]
mov byte [ebp - 4], 0x18
cmp edx, 0xf
jbe 0x100ddcfe
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x384]
mov eax, edx
cmp ecx, 0x1000
jb 0x100ddcf4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100de4b9
push ecx
push edx
call fcn.100e2296
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xf
jbe 0x100ddd36
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ddd2c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100de4b9
push ecx
push edx
call fcn.100e2296
add esp, 8
cmp dword [esi], 5
xorps xmm1, xmm1
mov edx, dword [ebp - 0x34c]
jne 0x100ddeb1
mov eax, dword [0x1012bc30]
add eax, 0xffffffaf
xor eax, 0x418206f4
movss xmm0, dword [eax + edx]
comiss xmm0, xmm1
jbe 0x100ddeb1
xorps xmm0, xmm0
mov dword [ebp - 0x3ac], 0x4e494c42
lea ecx, [ebp - 0x3ac]
mov word [ebp - 0x3a8], 0x44
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x38], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x34], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ddd94
sub ecx, edx
lea eax, [ebp - 0x3ac]
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.10032850
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x384]
mov byte [ebp - 0x3ed], al
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0x1a
mov word [ebp - 0x3f0], 0xffff
mov byte [ebp - 0x3ee], 0
call fcn.10036ef0
mov eax, dword [ebp - 0x3f0]
mov dword [ebp - 0x36c], eax
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100dde20
movups xmm0, xmmword [ebp - 0x384]
mov edx, 0xf
mov byte [ebp - 0x384], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x374]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100dde36
lea eax, [ebp - 0x384]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100ba010
mov edx, dword [ebp - 0x370]
mov byte [ebp - 4], 0x1a
cmp edx, 0xf
jbe 0x100dde70
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x384]
mov eax, edx
cmp ecx, 0x1000
jb 0x100dde66
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100de4b9
push ecx
push edx
call fcn.100e2296
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xf
jbe 0x100ddea8
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100dde9e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100de4b9
push ecx
push edx
call fcn.100e2296
add esp, 8
mov edx, dword [ebp - 0x34c]
xorps xmm1, xmm1
cmp dword [esi], 6
jne 0x100de063
mov eax, dword [0x1012bb18]
mov ecx, dword [edx + eax]
movss xmm0, dword [ecx + 0x58]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100de063
mov eax, dword [ecx + 0x50]
mov ecx, dword [0x1012bad0]
mov dword [ebp - 0x35c], ecx
mov ecx, dword [0x1012bb34]
mov dword [ebp - 0x354], eax
cmp dword [edx + ecx], 0
jne 0x100ddf0a
mov eax, dword [0x1012baac]
mov ecx, edx
call eax
mov ecx, dword [0x1012bb34]
mov eax, dword [ebp - 0x354]
mov edx, eax
mov eax, dword [ebp - 0x34c]
mov ecx, dword [eax + ecx]
call dword [ebp - 0x35c]
cmp eax, 0x3c7
jne 0x100de063
xorps xmm0, xmm0
mov dword [ebp - 0x2c], 0x4f4c4552
lea ecx, [ebp - 0x2c]
mov word [ebp - 0x28], 0x4441
mov byte [ebp - 0x26], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ddf52
sub ecx, edx
lea eax, [ebp - 0x2c]
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.10032850
mov eax, dword [ebp - 0x358]
lea ecx, [ebp - 0x384]
mov byte [ebp - 0x3e9], al
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0x1c
mov word [ebp - 0x3ec], 0xb43c
mov byte [ebp - 0x3ea], 0xe1
call fcn.10036ef0
mov eax, dword [ebp - 0x3ec]
mov dword [ebp - 0x36c], eax
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100ddfdb
movups xmm0, xmmword [ebp - 0x384]
mov edx, 0xf
mov byte [ebp - 0x384], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x374]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100ddff1
lea eax, [ebp - 0x384]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100ba010
mov edx, dword [ebp - 0x370]
mov byte [ebp - 4], 0x1c
cmp edx, 0xf
jbe 0x100de02b
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x384]
mov eax, edx
cmp ecx, 0x1000
jb 0x100de021
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100de4b9
push ecx
push edx
call fcn.100e2296
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xf
jbe 0x100de063
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100de059
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100de4b9
push ecx
push edx
call fcn.100e2296
add esp, 8
cmp dword [esi], 7
jne 0x100de1c4
mov eax, dword [0x1012badc]
mov ecx, dword [ebp - 0x34c]
call eax
test al, al
je 0x100de1c4
xorps xmm0, xmm0
mov word [ebp - 0x360], 0x3443
lea ecx, [ebp - 0x360]
mov byte [ebp - 0x35e], 0
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x38], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x34], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100de0b0
sub ecx, edx
lea eax, [ebp - 0x360]
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.10032850
mov eax, dword [ebp - 0x358]
lea ecx, [ebp - 0x384]
mov byte [ebp - 0x3e5], al
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0x1e
mov word [ebp - 0x3e8], 0xff
mov byte [ebp - 0x3e6], 0
call fcn.10036ef0
mov eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x36c], eax
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100de13c
movups xmm0, xmmword [ebp - 0x384]
mov edx, 0xf
mov byte [ebp - 0x384], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x374]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100de152
lea eax, [ebp - 0x384]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100ba010
mov edx, dword [ebp - 0x370]
mov byte [ebp - 4], 0x1e
cmp edx, 0xf
jbe 0x100de18c
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x384]
mov eax, edx
cmp ecx, 0x1000
jb 0x100de182
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100de4b9
push ecx
push edx
call fcn.100e2296
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xf
jbe 0x100de1c4
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100de1ba
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100de4b9
push ecx
push edx
call fcn.100e2296
add esp, 8
cmp dword [esi], 8
jne 0x100de3b5
cmp byte [0x100fdac8], 0
je 0x100de3b5
mov eax, dword [ebp - 0x3a4]
cmp dword [eax + 0x18], 2
jb 0x100de3b5
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x10]
mov eax, ecx
shr eax, 1
dec edx
and eax, edx
mov dword [ebp - 0x35c], edx
mov edx, dword [ebp - 0x3a4]
and ecx, 1
mov edx, dword [edx + 0xc]
mov eax, dword [edx + eax*4]
mov eax, dword [eax + ecx*8]
mov dword [ebp - 0x354], eax
mov eax, dword [ebp - 0x3a4]
mov ecx, dword [eax + 0x14]
inc ecx
mov eax, ecx
and ecx, 1
shr eax, 1
and eax, dword [ebp - 0x35c]
mov eax, dword [edx + eax*4]
mov eax, dword [eax + ecx*8]
mov ecx, dword [ebp - 0x354]
test ecx, ecx
je 0x100de3b5
test eax, eax
je 0x100de3b5
cmp byte [ecx + 0x18], 0
jne 0x100de3b5
cmp byte [eax + 0x18], 0
jne 0x100de3b5
mov eax, dword [ecx + 0x414]
cmp eax, 8
je 0x100de35e
test eax, eax
je 0x100de35e
cmp eax, 7
je 0x100de35e
cmp eax, 6
je 0x100de35e
cmp eax, 5
je 0x100de35e
cmp eax, 1
je 0x100de35e
cmp eax, 2
jne 0x100de2e3
cmp byte [ecx + 0x3ec], 0
je 0x100de2e8
mov eax, dword [ebp - 0x368]
mov byte [ebp - 0x3e1], al
lea eax, [ebp - 0x3e4]
push eax
lea eax, [ecx + 0x434]
mov word [ebp - 0x3e4], 0xff
push eax
lea ecx, [ebp - 0x384]
mov byte [ebp - 0x3e2], 0
call fcn.100e0960
mov byte [ebp - 4], 0x21
jmp 0x100de397
cmp eax, 4
jne 0x100de323
mov eax, dword [ebp - 0x368]
mov byte [ebp - 0x3dd], al
lea eax, [ebp - 0x3e0]
push eax
lea eax, [ecx + 0x434]
mov word [ebp - 0x3e0], 0xa5ff
push eax
lea ecx, [ebp - 0x384]
mov byte [ebp - 0x3de], 0
call fcn.100e0960
mov byte [ebp - 4], 0x22
jmp 0x100de397
mov eax, dword [ebp - 0x368]
mov byte [ebp - 0x38d], al
lea eax, [ebp - 0x390]
push eax
lea eax, [ecx + 0x434]
mov word [ebp - 0x390], 0xff
push eax
lea ecx, [ebp - 0x384]
mov byte [ebp - 0x38e], 0
call fcn.100e0960
mov byte [ebp - 4], 0x23
jmp 0x100de397
mov eax, dword [ebp - 0x368]
mov byte [ebp - 0x34d], al
lea eax, [ebp - 0x350]
push eax
lea eax, [ecx + 0x434]
mov word [ebp - 0x350], 0xff00
push eax
lea ecx, [ebp - 0x384]
mov byte [ebp - 0x34e], 0
call fcn.100e0960
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0x384]
push eax
lea ecx, [ebp - 0x24]
call fcn.100e0590
lea ecx, [ebp - 0x384]
mov byte [ebp - 4], 5
call fcn.10031f60
add esi, 4
cmp esi, dword [ebp - 0x18]
je 0x100de3c8
mov ecx, dword [ebp - 0x34c]
jmp 0x100dd490
mov ecx, dword [ebp - 0x20]
mov eax, 0x92492493
mov edi, dword [ebp - 0x24]
xor esi, esi
sub ecx, edi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100de456
mov eax, dword [ebp - 0x3a0]
mov edx, dword [ebp - 0x398]
add eax, 2
add edx, eax
xor eax, eax
mov dword [ebp - 0x35c], edx
mov dword [ebp - 0x18], eax
lea ecx, [eax + edi]
mov eax, dword [0x1012f2b4]
add eax, 0xfffffffc
push 0
imul eax, esi
push ecx
push dword [ecx + 0x18]
mov ecx, 0x1012f2ac
add eax, dword [ebp - 0x39c]
push eax
push edx
call fcn.100d54a0
mov ecx, dword [ebp - 0x20]
mov eax, 0x92492493
mov edi, dword [ebp - 0x24]
inc esi
add dword [ebp - 0x18], 0x1c
sub ecx, edi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x35c]
cmp esi, eax
mov eax, dword [ebp - 0x18]
jb 0x100de403
lea ecx, [ebp - 0x6c]
call fcn.100315e0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x100de4c9
mov edx, dword [ebp - 0x20]
push ecx
call fcn.100b9a60
mov ecx, dword [ebp - 0x1c]
mov eax, 0x92492493
mov esi, dword [ebp - 0x24]
add esp, 4
sub ecx, esi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax*8]
sub ecx, eax
mov eax, esi
shl ecx, 2
cmp ecx, 0x1000
jb 0x100de4bf
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100de4bf
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.100e2296
add esp, 8
xor edi, edi
cmp byte [ebp - 0x341], 0
mov dword [ebp - 0x360], edi
je 0x100de6d6
cmp byte [0x10101a88], 0
je 0x100de6b6
mov ecx, dword [ebp - 0x34c]
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 0x28]
call eax
dec eax
imul esi, eax, 0x54c
add esi, 0x1010eaac
je 0x100de6b6
cmp byte [esi + 0x31], 0
je 0x100de6b6
cmp dword [esi + 0x18], edi
je 0x100de6b6
mov edx, dword [esi + 0x14]
mov eax, edx
mov ecx, dword [esi + 0x10]
and edx, 1
shr eax, 1
dec ecx
and ecx, eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + edx*8]
test eax, eax
je 0x100de6b6
movss xmm1, dword [eax + 0x44]
movss xmm0, dword [eax + 0x40]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.100298f0
cvtss2sd xmm0, xmm0
comisd xmm0, xmmword [0x100f1230]
jbe 0x100de579
cmp byte [eax + 0x418], 0
je 0x100de6b6
cmp dword [esi + 0x48], 3
jg 0x100de6b6
movss xmm0, dword [esi + 0x4d4]
lea edx, [ebp - 0x354]
subss xmm0, dword [eax + 0x428]
lea eax, [ebp - 0x35c]
mov dword [ebp - 0x35c], 0x3f800000
push eax
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x354], edi
movss dword [ebp - 0x18], xmm0
call fcn.100325e0
movd xmm1, dword [ebp - 0x398]
add esp, 4
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [eax]
mulss xmm1, dword [0x100f1210]
comiss xmm1, dword [0x100f110c]
movss dword [ebp - 0x35c], xmm1
jbe 0x100de6b6
mov eax, dword [0x10101b2c]
mov ecx, dword [ebp - 0x34c]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x358]
mov byte [ebp - 0x15], al
mov eax, dword [0x1012bc74]
add eax, 0xffffff9e
xor eax, 0x41820705
mov eax, dword [eax + ecx]
mov ecx, dword [0x1012b958]
push ecx
mov edx, dword [ecx]
mov esi, dword [edx + 0x10]
mov edx, esp
mov dword [edx], eax
call esi
mov ecx, eax
test ecx, ecx
je 0x100de64b
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
test eax, eax
je 0x100de64b
cmp dword [eax + 0x14], 0xffffffff
mov ecx, 5
cmovne edi, ecx
mov dword [ebp - 0x360], edi
cvttss2si eax, dword [ebp - 0x35c]
mov esi, dword [ebp - 0x39c]
mov ecx, dword [ebp - 0x3a0]
add esi, edi
add esi, dword [ebp - 0x394]
lea edx, [esi + 2]
push dword [ebp - 0x18]
push 4
push eax
call fcn.100d4a20
movd xmm0, dword [ebp - 0x358]
lea edx, [esi + 2]
cvtdq2ps xmm0, xmm0
add esp, 8
mov ecx, esp
push 4
mulss xmm0, dword [0x100f11f4]
mov word [ecx], 0x4646
push dword [ebp - 0x398]
mov byte [ecx + 2], 0x46
cvttss2si eax, xmm0
mov byte [ecx + 3], al
mov ecx, dword [ebp - 0x3a0]
call fcn.100d49e0
add esp, 0xc
push 0
push dword [0x10101858]
push dword [0x10101854]
call fcn.100e1ce0
cmp eax, dword [0x10101858]
jne 0x100de6f5
jmp 0x100deccd
push 1
push dword [0x10101858]
push dword [0x10101854]
call fcn.100e1ce0
cmp eax, dword [0x10101858]
je 0x100deccd
mov eax, dword [0x1012bc74]
mov ecx, dword [ebp - 0x34c]
add eax, 0xffffff9e
xor eax, 0x41820705
mov eax, dword [eax + ecx]
mov ecx, dword [0x1012b958]
push ecx
mov edx, dword [ecx]
mov esi, dword [edx + 0x10]
mov edx, esp
mov dword [edx], eax
call esi
mov esi, eax
mov dword [ebp - 0x3a4], esi
test esi, esi
je 0x100deccd
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
test eax, eax
je 0x100deccd
mov ecx, dword [eax + 0x14]
mov eax, dword [0x1012bc90]
add eax, 0xffffff97
mov dword [ebp - 0x18], ecx
xor eax, 0x4182070c
mov ecx, dword [eax + esi]
mov eax, dword [0x1012bb18]
mov dword [ebp - 0x390], ecx
mov ecx, dword [ebp - 0x34c]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x350], edx
movss xmm0, dword [edx + 0x58]
ucomiss xmm0, dword [0x100f110c]
lahf
test ah, 0x44
jnp 0x100de7ce
mov eax, dword [edx + 0x50]
mov dword [ebp - 0x35c], eax
mov eax, dword [0x1012bad0]
mov dword [ebp - 0x354], eax
mov eax, dword [0x1012bb34]
cmp dword [ecx + eax], 0
jne 0x100de7b4
mov eax, dword [0x1012baac]
call eax
mov eax, dword [0x1012bb34]
mov ecx, dword [ebp - 0x34c]
mov edx, dword [ebp - 0x35c]
mov ecx, dword [ecx + eax]
call dword [ebp - 0x354]
cmp eax, 0x3c7
jne 0x100de7ce
mov al, 1
jmp 0x100de7d0
xor al, al
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xffffffff
je 0x100de97d
cmp byte [0x10101970], 0
je 0x100de97d
test al, al
je 0x100de7fa
mov eax, dword [ebp - 0x350]
movss xmm1, dword [eax + 0x64]
jmp 0x100de810
movd xmm1, dword [ebp - 0x390]
movd xmm0, ecx
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
mov eax, dword [ebp - 0x398]
add eax, 0xfffffffe
push ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x35c], xmm0
fld dword [ebp - 0x35c]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
mov eax, dword [ebp - 0x368]
add esp, 4
mov ecx, dword [0x1012b960]
mov edi, dword [ebp - 0x394]
mov byte [ebp - 0x34d], al
mov eax, dword [ebp - 0x39c]
add eax, 6
mov word [ebp - 0x350], 0x5a5a
add edi, eax
mov byte [ebp - 0x34e], 0x5a
mov eax, dword [ecx]
push dword [ebp - 0x350]
fstp dword [ebp - 0x35c]
mov eax, dword [eax + 0x38]
call eax
mov edx, dword [ebp - 0x3a0]
add edx, dword [ebp - 0x398]
mov ecx, dword [0x1012b960]
mov esi, dword [ebp - 0x39c]
push edi
push edx
mov edx, dword [ebp - 0x394]
add esi, 2
mov eax, dword [ecx]
add edx, esi
push edx
push dword [ebp - 0x3a0]
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [0x10101a14]
mov ecx, dword [0x1012b960]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x358]
mov byte [ebp - 0x15], al
mov eax, dword [ecx]
push dword [ebp - 0x18]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x1012b960]
cvttss2si esi, dword [ebp - 0x35c]
push edi
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
mov eax, dword [ebp - 0x3a0]
add eax, esi
mov esi, dword [ebp - 0x394]
push eax
mov eax, dword [ebp - 0x39c]
add eax, 2
add esi, eax
push esi
push dword [ebp - 0x3a0]
call edx
movd xmm0, dword [ebp - 0x358]
mov ecx, dword [0x1012b960]
cvtdq2ps xmm0, xmm0
mov word [ebp - 0x350], 0x4646
mov byte [ebp - 0x34e], 0x46
mulss xmm0, dword [0x100f11f4]
cvttss2si eax, xmm0
mov byte [ebp - 0x34d], al
mov eax, dword [ecx]
push dword [ebp - 0x350]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x1012b960]
lea edi, [esi + 4]
push edi
mov edi, dword [ebp - 0x3a0]
mov eax, dword [ecx]
mov eax, dword [eax + 0x48]
mov edx, dword [ebp - 0x398]
add edx, edi
push edx
push esi
push edi
call eax
mov esi, dword [ebp - 0x3a4]
mov edi, dword [ebp - 0x360]
mov eax, dword [0x101018fc]
add edi, 6
mov dword [ebp - 0x360], edi
test eax, eax
jne 0x100deb01
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
test eax, eax
je 0x100de9b4
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
mov edx, dword [eax + 4]
jmp 0x100de9cd
mov dword [ebp - 0x38c], 0x6f727265
lea edx, [ebp - 0x38c]
mov word [ebp - 0x388], 0x72
mov ecx, edx
mov dword [ebp - 0x50], 0
xorps xmm0, xmm0
mov dword [ebp - 0x4c], 0
movups xmmword [ebp - 0x60], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100de9e7
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x60]
call fcn.10032850
mov dword [ebp - 4], 0x24
lea ecx, [ebp - 0x60]
mov esi, dword [ebp - 0x50]
mov edx, 7
cmp esi, edx
cmovb edx, esi
cmp dword [ebp - 0x4c], 0xf
cmova ecx, dword [ebp - 0x60]
sub esi, edx
lea eax, [esi + 1]
push eax
lea eax, [ecx + edx]
push eax
push ecx
call sub.VCRUNTIME140.dll_memmove
mov ecx, dword [ebp - 0x60]
lea eax, [ebp - 0x60]
add esp, 0xc
mov dword [ebp - 0x50], esi
cmp dword [ebp - 0x4c], 0xf
lea edi, [ebp - 0x60]
cmova eax, ecx
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x60]
cmova eax, ecx
add esi, eax
cmp dword [ebp - 0x4c], 0xf
cmova edi, ecx
cmp edi, esi
je 0x100dea78
sub dword [ebp - 0x18], edi
nop dword [eax + eax]
movsx eax, byte [edi]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
mov ecx, dword [ebp - 0x18]
add esp, 4
mov byte [edi + ecx], al
inc edi
cmp edi, esi
jne 0x100dea60
mov edx, dword [ebp - 0x360]
lea eax, [ebp - 0x60]
add edx, dword [ebp - 0x39c]
add edx, dword [ebp - 0x394]
push 2
push eax
mov eax, dword [ebp - 0x358]
push ecx
mov ecx, esp
push edx
mov byte [ecx + 3], al
mov eax, dword [ebp - 0x398]
cdq
sub eax, edx
mov word [ecx], 0xffff
sar eax, 1
add eax, dword [ebp - 0x3a0]
mov byte [ecx + 2], 0xff
mov ecx, 0x1012f2ac
push eax
call fcn.100d54a0
mov ecx, dword [ebp - 0x4c]
cmp ecx, 0xf
jbe 0x100deccd
mov edx, dword [ebp - 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100deaf2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100deaf2
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100e2296
add esp, 8
jmp 0x100deccd
cmp eax, 1
jne 0x100deccd
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
test eax, eax
je 0x100deb2b
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
mov edx, dword [eax + 4]
jmp 0x100deb44
mov dword [ebp - 0x38c], 0x6f727265
lea edx, [ebp - 0x38c]
mov word [ebp - 0x388], 0x72
mov ecx, edx
mov dword [ebp - 0x80], 0
xorps xmm0, xmm0
mov dword [ebp - 0x7c], 0
movups xmmword [ebp - 0x90], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100deb61
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x90]
call fcn.10032850
mov dword [ebp - 4], 0x25
lea ecx, [ebp - 0x90]
cmp dword [ebp - 0x7c], 0xf
lea eax, [ebp - 0x90]
mov edx, dword [ebp - 0x90]
lea edi, [ebp - 0x90]
mov esi, dword [ebp - 0x80]
cmova eax, edx
cmova ecx, edx
mov dword [ebp - 0x18], eax
add esi, ecx
cmp dword [ebp - 0x7c], 0xf
cmova edi, edx
cmp edi, esi
je 0x100debce
sub dword [ebp - 0x18], edi
movsx eax, byte [edi]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
mov ecx, dword [ebp - 0x18]
add esp, 4
mov byte [ecx + edi], al
inc edi
cmp edi, esi
jne 0x100debb6
mov eax, dword [0x1012bc8c]
mov ecx, dword [ebp - 0x3a4]
add eax, 0xffffff98
xor eax, 0x4182070b
add eax, ecx
cmp dword [eax], 0x40
jne 0x100dec3a
push 2
lea eax, [ebp - 0x90]
push eax
push ecx
mov ecx, dword [ebp - 0x368]
mov eax, esp
mov byte [eax + 3], cl
mov ecx, 0x1012f2ac
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x39c]
add eax, dword [ebp - 0x360]
add eax, dword [ebp - 0x394]
push eax
mov eax, dword [ebp - 0x398]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x3a0]
push eax
call fcn.100d54a0
jmp 0x100decc2
mov esi, dword [ebp - 0x360]
mov ecx, 0x1013187c
push eax
sub esi, 5
call fcn.100e0670
push eax
lea edx, [ebp - 0x360]
mov word [ebp - 0x360], 0x6325
lea ecx, [ebp - 0x48]
mov byte [ebp - 0x35e], 0
call fcn.100e0990
add esp, 4
push 2
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x26
push eax
push ecx
mov ecx, dword [ebp - 0x368]
mov eax, esp
mov byte [eax + 3], cl
mov ecx, 0x1012f2e8
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x39c]
add eax, esi
add eax, dword [ebp - 0x394]
push eax
mov eax, dword [ebp - 0x398]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x3a0]
push eax
call fcn.100d54a0
lea ecx, [ebp - 0x48]
call fcn.10031f60
lea ecx, [ebp - 0x90]
call fcn.10031f60
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100e1e1c
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4