Function at 0x100a4e90
Capabilities:
Encode data using base64
Encode data using xor
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x41a8
call fcn.101a2b80
mov eax, dword [0x1020f0c0]
xor eax, esp
mov dword [esp + 0x41a4], eax
mov dword [esp + 0xa4], 0
mov eax, dword [0x1022ccc8]
push esi
push edi
mov dword [esp + 0x34], ecx
cmp byte [eax], 0
mov dword [esp + 0xc], eax
je case.0x100a4e75.0
mov ecx, dword [eax + 0xa34]
add eax, 0xa34
cmp ecx, 3
ja case.0x100a4e75.0
jmp dword [ecx*4 + 0x100a7234]
mov ecx, eax
call fcn.100cf760
jmp 0x100a4e88
mov al, byte [eax + 0x20]
test al, al
je case.0x100a4e75.0
mov eax, dword [0x1022ee74]
mov esi, dword [eax]
test esi, esi
je case.0x100a4e75.0
mov eax, dword [0x1022ccc4]
movd xmm0, dword [0x105223dc]
mov ecx, dword [0x1022e69c]
cvtdq2ps xmm0, xmm0
mov eax, dword [eax + 0x10]
mulss xmm0, dword [eax + 0x20]
mov eax, dword fs:[0x2c]
movss dword [esp + 0x50], xmm0
mov edi, dword [eax + ecx*4]
mov eax, dword [0x10456828]
mov dword [esp + 0x28], edi
cmp eax, dword [edi + 4]
jle 0x100a4f1b
push 0x10456828
call fcn.101a22b8
add esp, 4
cmp dword [0x10456828], 0xffffffff
jne 0x100a4f1b
mov edx, 0xc60bf9f2
mov ecx, 0x101f10c9
call fcn.1007ea30
mov ecx, eax
call fcn.100d5410
push 0x10456828
mov dword [0x10456870], eax
call fcn.101a2267
add esp, 4
mov eax, dword [0x10456870]
movss xmm0, dword [esi + eax]
comiss xmm0, dword [esp + 0x50]
ja case.0x100a4e75.0
mov eax, dword [0x1022ee74]
mov ecx, dword [eax]
call fcn.100a1ea0
cmp byte [eax], 0
jne case.0x100a4e75.0
mov eax, dword [0x1022ee74]
mov ecx, dword [eax]
call fcn.10092a90
cmp byte [eax], 0
jne case.0x100a4e75.0
mov eax, dword [0x1022ee74]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x430]
call eax
mov esi, eax
mov dword [esp + 0x2c], esi
test esi, esi
je case.0x100a4e75.0
mov ecx, esi
call fcn.1007f2d0
cmp dword [eax], 0
je case.0x100a4e75.0
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x71c]
call eax
test eax, eax
je case.0x100a4e75.0
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x71c]
call eax
cmp eax, 7
je case.0x100a4e75.0
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x71c]
call eax
cmp eax, 9
je case.0x100a4e75.0
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x60], 0
je 0x100a504a
mov ecx, esi
call fcn.1007f3b0
cmp word [eax], 2
je 0x100a5039
mov ecx, esi
call fcn.1007f3b0
cmp word [eax], 0x20
je 0x100a5039
mov ecx, esi
call fcn.1007f3b0
cmp word [eax], 0x24
je 0x100a5039
mov ecx, esi
call fcn.1007f3b0
cmp word [eax], 0x3d
je 0x100a5039
mov ecx, esi
call fcn.1007f3b0
cmp word [eax], 0x3f
je 0x100a5039
mov ecx, esi
call fcn.1007f3b0
cmp word [eax], 0x1e
je 0x100a5039
mov ecx, esi
call fcn.1007f3b0
cmp word [eax], 3
je 0x100a5039
mov ecx, esi
call fcn.1007f3b0
cmp word [eax], 4
jne 0x100a5046
mov dword [esp + 0x24], 1
jmp 0x100a5221
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x98], 0
je 0x100a5071
mov ecx, esi
call fcn.1007f3b0
cmp word [eax], 1
jne 0x100a506d
mov dword [esp + 0x24], 2
jmp 0x100a5221
mov eax, dword [esp + 0xc]
cmp byte [eax + 0xd0], 0
je 0x100a5098
mov ecx, esi
call fcn.1007f3b0
cmp word [eax], 0x40
jne 0x100a5094
mov dword [esp + 0x24], 3
jmp 0x100a5221
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x108], 0
je 0x100a510d
mov ecx, esi
call fcn.1007f3b0
cmp word [eax], 0x11
je 0x100a50fc
mov ecx, esi
call fcn.1007f3b0
cmp word [eax], 0x22
je 0x100a50fc
mov ecx, esi
call fcn.1007f3b0
cmp word [eax], 0x21
je 0x100a50fc
mov ecx, esi
call fcn.1007f3b0
cmp word [eax], 0x17
je 0x100a50fc
mov ecx, esi
call fcn.1007f3b0
cmp word [eax], 0x18
je 0x100a50fc
mov ecx, esi
call fcn.1007f3b0
cmp word [eax], 0x13
je 0x100a50fc
mov ecx, esi
call fcn.1007f3b0
cmp word [eax], 0x1a
jne 0x100a5109
mov dword [esp + 0x24], 4
jmp 0x100a5221
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x140], 0
je 0x100a5182
mov ecx, esi
call fcn.1007f3b0
cmp word [eax], 7
je 0x100a5171
mov ecx, esi
call fcn.1007f3b0
cmp word [eax], 0x10
je 0x100a5171
mov ecx, esi
call fcn.1007f3b0
cmp word [eax], 0x3c
je 0x100a5171
mov ecx, esi
call fcn.1007f3b0
cmp word [eax], 0xd
je 0x100a5171
mov ecx, esi
call fcn.1007f3b0
cmp word [eax], 8
je 0x100a5171
mov ecx, esi
call fcn.1007f3b0
cmp word [eax], 0x27
je 0x100a5171
mov ecx, esi
call fcn.1007f3b0
cmp word [eax], 0xa
jne 0x100a517e
mov dword [esp + 0x24], 5
jmp 0x100a5221
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x178], 0
je 0x100a51a6
mov ecx, esi
call fcn.1007f3b0
cmp word [eax], 0x28
jne 0x100a51a2
mov dword [esp + 0x24], 6
jmp 0x100a5221
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x1b0], 0
je 0x100a51ca
mov ecx, esi
call fcn.1007f3b0
cmp word [eax], 9
jne 0x100a51c6
mov dword [esp + 0x24], 7
jmp 0x100a5221
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x1e8], 0
je 0x100a51fb
mov ecx, esi
call fcn.1007f3b0
cmp word [eax], 0xb
je 0x100a51ed
mov ecx, esi
call fcn.1007f3b0
cmp word [eax], 0x26
jne 0x100a51f7
mov dword [esp + 0x24], 8
jmp 0x100a5221
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x220], 0
je 0x100a5219
mov ecx, esi
call fcn.1007f3b0
mov dword [esp + 0x24], 9
cmp word [eax], 0x1f
je 0x100a5221
mov dword [esp + 0x24], 0
mov eax, dword [0x1022ee74]
mov esi, dword [eax]
mov eax, dword [0x1044cdac]
cmp eax, dword [edi + 4]
jle 0x100a5273
push 0x1044cdac
call fcn.101a22b8
add esp, 4
cmp dword [0x1044cdac], 0xffffffff
jne 0x100a5273
mov edx, 0xc60bf9f2
mov ecx, 0x101f07e9
call fcn.1007ea30
mov ecx, eax
call fcn.100d5410
push 0x1044cdac
mov dword [0x1044cd48], eax
call fcn.101a2267
add esp, 4
mov eax, dword [0x1044cd48]
cmp dword [eax + esi], 0
mov esi, dword [esp + 0x2c]
jle 0x100a52a4
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x734]
call eax
test eax, eax
je case.0x100a4e75.0
mov al, byte [eax + 0xec]
test al, al
je case.0x100a4e75.0
mov eax, dword [esp + 0x24]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x20], ecx
test byte [eax + ecx*8 + 0x2c], 2
jne 0x100a533a
mov eax, dword [0x1022ccc4]
mov esi, dword [eax + 0x10]
mov eax, dword [0x1044cc70]
cmp eax, dword [edi + 4]
jle 0x100a5313
push 0x1044cc70
call fcn.101a22b8
add esp, 4
cmp dword [0x1044cc70], 0xffffffff
jne 0x100a5313
mov edx, 0xc60bf9f2
mov ecx, 0x101f0871
call fcn.1007ea30
mov ecx, eax
call fcn.100d5410
push 0x1044cc70
mov dword [0x1044ccb4], eax
call fcn.101a2267
add esp, 4
movd xmm1, dword [0x105223dc]
mov eax, dword [0x1044ccb4]
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [esi + 0x20]
mov esi, dword [esp + 0x2c]
movss xmm0, dword [eax + esi]
comiss xmm0, xmm1
ja case.0x100a4e75.0
mov eax, dword [0x1022ccc8]
cmp byte [eax], 0
je case.0x100a4e75.0
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0xc]
test byte [eax + 0x30], 1
jne 0x100a5360
cmp byte [edi + 5], 0
je case.0x100a4e75.0
mov eax, dword [0x1022ee74]
lea edx, [esp + 0x17c]
or ecx, 0xffffffff
mov dword [esp + 0x78], 0x7f7fffff
mov dword [esp + 0x50], ecx
xorps xmm0, xmm0
xorps xmm1, xmm1
movq qword [esp + 0x54], xmm0
mov ecx, dword [eax]
push edx
mov dword [esp + 0x60], 0
movq qword [esp + 0x1c4], xmm0
mov eax, dword [ecx]
mov dword [esp + 0x1cc], 0
movss dword [esp + 0x6c], xmm1
mov eax, dword [eax + 0x2a4]
call eax
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x71c]
call eax
test eax, eax
je 0x100a540a
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x71c]
call eax
cmp eax, 7
je 0x100a540a
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x71c]
call eax
cmp eax, 9
je 0x100a540a
mov eax, dword [0x1022ee74]
lea edx, [esp + 0x1a0]
push edx
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x568]
call eax
lea eax, [esp + 0x1a0]
jmp 0x100a5428
xorps xmm0, xmm0
mov dword [esp + 0x1f0], 0
movq qword [esp + 0x1e8], xmm0
lea eax, [esp + 0x1e8]
movq xmm0, qword [eax]
mov dword [esp + 0x4c], eax
mov eax, dword [eax + 8]
mov dword [esp + 0x74], eax
mov eax, dword [0x1022ccc4]
movq qword [esp + 0x6c], xmm0
movss xmm0, dword [0x1022c148]
mulss xmm0, dword [0x10200e60]
mov eax, dword [eax + 0x10]
movss xmm1, dword [eax + 8]
xor eax, eax
cmp byte [0x101f2307], 0
mulss xmm1, dword [0x10200d94]
mov word [esp + 0xd1], ax
mov eax, dword [0x1022ccd0]
addss xmm1, xmm0
xorps xmm0, xmm0
movlpd qword [esp + 0xc1], xmm0
mov esi, dword [eax + 8]
mov eax, dword [0x1022e690]
movlpd qword [esp + 0xc9], xmm0
movups xmm0, xmmword [0x101f22f0]
movss dword [0x1022c148], xmm1
movups xmmword [esp + 0xe0], xmm0
movq xmm0, qword [0x101f2300]
movq qword [esp + 0xf0], xmm0
je 0x100a5644
xor edx, edx
mov dword [esp + 0x44], edx
cmp eax, 2
jl 0x100a5611
movaps xmm0, xmmword [0x10201560]
lea edi, [esp + 0xe4]
movaps xmm4, xmmword [0x10201400]
xor ecx, ecx
movaps xmm3, xmmword [0x102017d0]
movaps xmm5, xmmword [0x10201480]
movaps xmmword [esp + 0x90], xmm0
mov edx, dword [esp + 0x90]
nop word [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0xe0]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0xe0], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [edi + ecx]
xorps xmm1, xmm0
movd dword [edi + ecx], xmm1
add ecx, 8
cmp ecx, 0x18
jl 0x100a5510
mov edi, dword [esp + 0xc]
jmp 0x100a5644
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x44]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x38
xor byte [esp + edx + 0xe0], cl
inc edx
mov dword [esp + 0x44], edx
cmp edx, 0x18
jl 0x100a5611
mov eax, dword [esi]
lea ecx, [esp + 0xe0]
push ecx
mov ecx, esi
mov eax, dword [eax + 0x3c]
call eax
mov ecx, dword [0x1022ccc8]
mov esi, eax
add ecx, 0xa7c
mov eax, dword [ecx]
cmp eax, 3
ja case.0x100a566a.2684
jmp dword [eax*4 + 0x100a7244]
call fcn.100cf760
jmp 0x100a567b
mov al, byte [ecx + 0x20]
test al, al
je case.0x100a566a.2684
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x34]
call eax
cmp eax, 1
jge case.0x100a566a.2684
xor eax, eax
jmp 0x100a569c
mov eax, dword [esp + 0x20]
mov eax, dword [edi + eax*8 + 0x34]
and eax, 1
mov byte [esp + 0xc0], al
mov ecx, esi
mov eax, dword [esi]
mov eax, dword [eax + 0x34]
call eax
cmp eax, 1
jge 0x100a575e
mov eax, dword [esp + 0x20]
mov ecx, dword [edi + eax*8 + 0x34]
mov eax, ecx
shr eax, 1
and al, 1
mov byte [esp + 0xc6], al
mov eax, ecx
shr eax, 2
and al, 1
mov byte [esp + 0xc4], al
mov eax, ecx
shr eax, 3
and al, 1
mov byte [esp + 0xc5], al
mov eax, ecx
shr eax, 4
and al, 1
mov byte [esp + 0xc3], al
mov eax, ecx
shr eax, 5
and al, 1
mov byte [esp + 0xc2], al
mov eax, ecx
shr eax, 6
and eax, 0xffffff01
mov dword [esp + 0x48], eax
mov byte [esp + 0xcf], al
mov byte [esp + 0xd0], al
mov byte [esp + 0xd1], al
mov eax, ecx
shr eax, 7
and al, 1
shr ecx, 8
and cl, 1
mov byte [esp + 0xc9], al
mov byte [esp + 0xc7], al
mov byte [esp + 0xca], al
mov byte [esp + 0xc8], al
mov byte [esp + 0xcb], cl
mov byte [esp + 0xcc], cl
jmp 0x100a5769
mov al, byte [esp + 0xd2]
mov dword [esp + 0x48], eax
xor eax, eax
xor edi, edi
mov dword [esp + 0x38], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0xbc], eax
mov eax, dword [0x1022ee74]
mov dword [esp + 0xb8], edi
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x1022ccd0]
mov esi, 1
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1c], esi
mov ecx, dword [ecx + 0x10]
mov edx, dword [ecx]
mov edx, dword [edx + 0x50]
call edx
cmp eax, esi
jl 0x100a5a9a
mov edi, esi
nop
cmp edi, 0x41
jae 0x100a7214
imul eax, edi, 0x3ef0
lea ecx, [esp + 0x238]
add eax, 0x10232860
push eax
call fcn.10091d90
cmp byte [esp + 0x40fc], 0
je 0x100a5a33
mov eax, dword [0x1022ccd0]
push esi
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov edi, eax
test edi, edi
je 0x100a5a33
mov ecx, dword [0x1022ee74]
cmp edi, dword [ecx]
je 0x100a5a33
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
jne 0x100a5a33
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x270]
call eax
test al, al
je 0x100a5a33
mov eax, dword [0x1022ee74]
mov ecx, dword [eax]
mov eax, dword [0x1022ccc4]
push ecx
mov ecx, edi
mov eax, dword [eax + 0x38]
call eax
test al, al
jne 0x100a5864
mov eax, dword [esp + 0xc]
cmp byte [eax + 3], 0
je 0x100a5a33
mov ecx, edi
call fcn.1007f0a0
cmp byte [eax], 0
jne 0x100a5a33
mov eax, dword [esp + 0x34]
lea edx, [esp + 0x124]
movss xmm0, dword [esp + 0x6c]
lea ecx, [esp + 0x17c]
addss xmm0, dword [eax + 0xc]
movss dword [esp + 0x188], xmm0
movss xmm0, dword [esp + 0x70]
addss xmm0, dword [eax + 0x10]
movss dword [esp + 0x18c], xmm0
movss xmm0, dword [esp + 0x74]
addss xmm0, dword [eax + 0x14]
lea eax, [esp + 0x188]
push eax
movss dword [esp + 0x194], xmm0
movss xmm0, dword [esp + 0xc64]
movss dword [esp + 0x128], xmm0
movss xmm0, dword [esp + 0xc74]
movss dword [esp + 0x12c], xmm0
movss xmm0, dword [esp + 0xc84]
movss dword [esp + 0x130], xmm0
call fcn.1008b960
mov eax, dword [edi]
mov ecx, edi
movss dword [esp + 0x108], xmm2
movss dword [esp + 0x104], xmm1
movss dword [esp + 0x100], xmm0
mov eax, dword [eax + 0x28]
call eax
movss xmm1, dword [esp + 0x100]
mov esi, eax
movss xmm0, dword [esp + 0x104]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x100a595b
sqrtsd xmm0, xmm0
jmp 0x100a5960
call fcn.101ca1c0
mov eax, dword [edi]
mov ecx, edi
cvtsd2ss xmm0, xmm0
mov eax, dword [eax + 0x1e8]
movss dword [esp + 0x30], xmm0
call eax
mov edi, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x38], edi
movss xmm1, dword [eax]
movss xmm2, dword [eax + 4]
subss xmm2, dword [esi + 4]
subss xmm1, dword [esi]
movss xmm0, dword [eax + 8]
subss xmm0, dword [esi + 8]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
addss xmm2, xmm0
cvtps2pd xmm0, xmm2
ucomisd xmm1, xmm0
ja 0x100a59c2
sqrtsd xmm0, xmm0
jmp 0x100a59c7
call fcn.101ca1c0
mov eax, dword [esp + 0xb8]
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x18], xmm0
cmp eax, dword [esp + 0x44]
je 0x100a5a03
mov esi, dword [esp + 0x1c]
movss dword [eax + 8], xmm0
movss xmm0, dword [esp + 0x30]
mov dword [eax], esi
mov dword [eax + 4], edi
movss dword [eax + 0xc], xmm0
add eax, 0x10
mov dword [esp + 0xb8], eax
jmp 0x100a5a33
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x40]
push ecx
lea ecx, [esp + 0x28]
push ecx
push eax
lea ecx, [esp + 0xc8]
call fcn.100a7370
mov eax, dword [esp + 0xbc]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x44], eax
lea ecx, [esp + 0x4084]
call fcn.1002cf30
lea ecx, [esp + 0xac0]
call fcn.10092110
mov eax, dword [esp + 0xac0]
push 8
push eax
mov dword [esp + 0xac8], 0
call fcn.101a201e
mov eax, dword [0x1022ccd0]
add esp, 8
inc esi
mov dword [esp + 0x1c], esi
mov edi, esi
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x50]
call eax
cmp edi, eax
jle 0x100a57c0
mov ecx, dword [esp + 0xb4]
mov edi, dword [esp + 0xb8]
mov dword [esp + 0x38], ecx
jmp 0x100a5a9c
xor ecx, ecx
cmp ecx, edi
je 0x100a71cf
mov esi, dword [esp + 0xc]
mov eax, dword [esi + 8]
sub eax, 0
je 0x100a5aec
sub eax, 1
je 0x100a5ad3
sub eax, 1
jne 0x100a5b07
movzx eax, byte [0x1022f2f5]
mov edx, edi
push eax
mov eax, edi
sub eax, ecx
sar eax, 4
push eax
call fcn.100a7880
jmp 0x100a5b03
movzx eax, byte [0x1022f2f4]
mov edx, edi
push eax
mov eax, edi
sub eax, ecx
sar eax, 4
push eax
call fcn.100a76c0
jmp 0x100a5b03
movzx eax, byte [0x1022f2f6]
mov edx, edi
push eax
mov eax, edi
sub eax, ecx
sar eax, 4
push eax
call fcn.100a74f0
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x20]
xorps xmm0, xmm0
movaps xmmword [esp + 0x130], xmm0
mov dword [esp + 0x144], 0xf
mov dword [esp + 0x30], ecx
mov edx, dword [esi + eax*8 + 0x48]
mov eax, dword [esi + eax*8 + 0x4c]
mov esi, ecx
mov dword [esp + 0x8c], edx
xor edx, edx
mov dword [esp + 0x80], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x140], edx
mov byte [esp + 0x130], dl
mov eax, dword [0x1022ccd0]
push dword [esi]
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov edi, eax
mov eax, dword [esi]
mov dword [esp + 0x1c], edi
cmp eax, 0x41
jae 0x100a7214
imul ecx, eax, 0x3ef0
add ecx, 0x10232860
push ecx
lea ecx, [esp + 0x23c]
call fcn.10091d90
mov eax, dword [0x1022ccc8]
mov esi, dword [esi + 4]
add eax, 0xa58
inc esi
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], esi
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x100a5bad.2648
jmp dword [ecx*4 + 0x100a7254]
mov ecx, eax
call fcn.100cf760
jmp 0x100a5bc0
mov al, byte [eax + 0x20]
test al, al
je case.0x100a5bad.2648
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
cmp byte [eax + ecx*8 + 0x41], 0
je 0x100a5be3
lea eax, [eax + ecx*8]
add eax, 0x54
jmp 0x100a5be9
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
lea eax, [eax + ecx*8]
add eax, 0x50
mov ecx, dword [eax]
lea edx, [esp + 0x18]
test ecx, ecx
cmovns edx, eax
cmp esi, ecx
lea eax, [esp + 0x14]
mov ecx, edi
cmovge eax, edx
mov eax, dword [eax]
mov dword [esp + 0x7c], eax
mov eax, dword [edi + 0x2914]
mov dword [esp + 0xac], eax
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
mov ecx, eax
call edx
mov ecx, edi
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x88], eax
mov eax, dword [edi]
movq qword [esp + 0x100], xmm0
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
mov ecx, edi
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x84], eax
mov eax, dword [edi]
movq qword [esp + 0xa0], xmm0
mov eax, dword [eax + 0x28]
call eax
mov ecx, edi
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x12c], eax
mov eax, dword [edi]
movq qword [esp + 0x124], xmm0
mov eax, dword [eax + 0x2c]
call eax
xor esi, esi
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x188], xmm0
mov dword [esp + 0x190], eax
mov dword [esp + 0x14], esi
nop dword [eax + eax]
lea esi, [esi + esi*4]
cmp dword [esi*4 + 0x1033c3a0], 0
je 0x100a5f8c
mov ecx, dword [esp + 0x28]
mov eax, dword [0x1044cdf4]
cmp eax, dword [ecx + 4]
jle 0x100a5d14
push 0x1044cdf4
call fcn.101a22b8
add esp, 4
cmp dword [0x1044cdf4], 0xffffffff
jne 0x100a5d10
mov edx, 0xc60bf9f2
mov ecx, 0x101f06c1
call fcn.1007ea30
mov ecx, eax
call fcn.100d5410
push 0x1044cdf4
mov dword [0x1044cccc], eax
call fcn.101a2267
add esp, 4
mov ecx, dword [esp + 0x28]
mov eax, dword [0x1044cccc]
mov dword [esp + 0x18], eax
mov eax, dword [0x1045692c]
cmp eax, dword [ecx + 4]
jle 0x100a5d68
push 0x1045692c
call fcn.101a22b8
add esp, 4
cmp dword [0x1045692c], 0xffffffff
jne 0x100a5d68
mov edx, 0xc60bf9f2
mov ecx, 0x101f06c1
call fcn.1007ea30
mov ecx, eax
call fcn.100d5410
push 0x1045692c
mov dword [0x10456938], eax
call fcn.101a2267
add esp, 4
mov eax, dword [esp + 0x18]
movss xmm0, dword [edi + eax]
mov eax, dword [0x10456938]
ucomiss xmm0, dword [edi + eax + 4]
lahf
test ah, 0x44
jnp 0x100a5f8c
cmp dword [esi*4 + 0x1033c3a0], 0
je 0x100a5f8c
mov edx, dword [esp + 0x28]
mov eax, dword [0x1045692c]
cmp eax, dword [edx + 4]
jle 0x100a5de6
push 0x1045692c
call fcn.101a22b8
add esp, 4
cmp dword [0x1045692c], 0xffffffff
jne 0x100a5de2
mov edx, 0xc60bf9f2
mov ecx, 0x101f06c1
call fcn.1007ea30
mov ecx, eax
call fcn.100d5410
push 0x1045692c
mov dword [0x10456938], eax
call fcn.101a2267
add esp, 4
mov edx, dword [esp + 0x28]
mov esi, dword [0x1022ccc4]
mov eax, dword [0x10456938]
movss xmm1, dword [0x10200e0c]
mov ecx, dword [esi + 0x10]
movss xmm0, dword [edi + eax + 4]
divss xmm0, dword [ecx + 0x10]
addss xmm0, xmm1
cvttss2si eax, xmm0
test eax, eax
je 0x100a5f8c
mov eax, dword [0x1044cdf4]
cmp eax, dword [edx + 4]
jle 0x100a5e6a
push 0x1044cdf4
call fcn.101a22b8
add esp, 4
cmp dword [0x1044cdf4], 0xffffffff
jne 0x100a5e62
mov edx, 0xc60bf9f2
mov ecx, 0x101f06c1
call fcn.1007ea30
mov ecx, eax
call fcn.100d5410
push 0x1044cdf4
mov dword [0x1044cccc], eax
call fcn.101a2267
add esp, 4
movss xmm1, dword [0x10200e0c]
mov eax, dword [0x1044cccc]
mov ecx, dword [esi + 0x10]
mov esi, dword [esp + 0x14]
movss xmm0, dword [edi + eax]
divss xmm0, dword [ecx + 0x10]
addss xmm0, xmm1
cvttss2si eax, xmm0
test eax, eax
je 0x100a5f90
mov edx, dword [edi + 0x2990]
lea eax, [esi + esi*4]
mov ecx, dword [eax*4 + 0x1033c398]
dec ecx
and ecx, dword [eax*4 + 0x1033c39c]
mov eax, dword [eax*4 + 0x1033c394]
movss xmm0, dword [edx + 0x294]
mov eax, dword [eax + ecx*4]
ucomiss xmm0, dword [eax + 0x8ac]
lahf
test ah, 0x44
jp 0x100a5f90
mov ecx, dword [esp + 0x28]
mov eax, dword [0x1045692c]
cmp eax, dword [ecx + 4]
jle 0x100a5f1e
push 0x1045692c
call fcn.101a22b8
add esp, 4
cmp dword [0x1045692c], 0xffffffff
jne 0x100a5f1a
mov edx, 0xc60bf9f2
mov ecx, 0x101f06c1
call fcn.1007ea30
mov ecx, eax
call fcn.100d5410
push 0x1045692c
mov dword [0x10456938], eax
call fcn.101a2267
add esp, 4
mov ecx, dword [esp + 0x28]
mov eax, dword [0x10456938]
movss xmm0, dword [edi + eax + 4]
mov eax, dword [0x1044cdf4]
movss dword [esp + 0x18], xmm0
cmp eax, dword [ecx + 4]
jle 0x100a5f80
push 0x1044cdf4
call fcn.101a22b8
add esp, 4
cmp dword [0x1044cdf4], 0xffffffff
jne 0x100a5f7a
mov edx, 0xc60bf9f2
mov ecx, 0x101f06c1
call fcn.1007ea30
mov ecx, eax
call fcn.100d5410
push 0x1044cdf4
mov dword [0x1044cccc], eax
call fcn.101a2267
add esp, 4
movss xmm0, dword [esp + 0x18]
mov eax, dword [0x1044cccc]
movss dword [edi + eax], xmm0
jmp 0x100a5f90
mov esi, dword [esp + 0x14]
mov eax, dword [0x1022ccc8]
cmp byte [eax + 0x100c], 0
je 0x100a62f6
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x28]
call eax
cmp eax, 0x41
jae 0x100a7214
imul esi, eax, 0x3ef0
add esi, 0x102330e8
mov dword [esp + 0x64], esi
je 0x100a6081
mov eax, dword [esi + 0x10]
test eax, eax
je 0x100a6081
cmp dword [esp + 0x14], 0
jne 0x100a6035
xor edi, edi
test eax, eax
je 0x100a607d
cmp eax, edi
jbe 0x100a7219
mov edx, dword [esi + 0xc]
mov ecx, dword [esi]
add edx, edi
test ecx, ecx
je 0x100a5fff
mov eax, dword [ecx]
jmp 0x100a6001
xor eax, eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, edx
mov eax, dword [eax + ecx*4]
movss xmm0, dword [eax + 0x58]
call fcn.10095670
test al, al
jne 0x100a6121
mov eax, dword [esi + 0x10]
inc edi
cmp eax, edi
ja 0x100a5ff0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
inc esi
jmp 0x100a5ca4
lea edi, [eax - 1]
test edi, edi
js 0x100a607d
nop dword [eax]
cmp dword [esi + 0x10], edi
jbe 0x100a7219
mov edx, dword [esi + 0xc]
mov ecx, dword [esi]
add edx, edi
test ecx, ecx
je 0x100a6058
mov eax, dword [ecx]
jmp 0x100a605a
xor eax, eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, edx
mov eax, dword [eax + ecx*4]
movss xmm0, dword [eax + 0x58]
call fcn.10095670
test al, al
jne 0x100a6121
sub edi, 1
jns 0x100a6040
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
inc esi
mov dword [esp + 0x14], esi
cmp esi, 2
jb 0x100a5cb0
mov esi, dword [esp + 0x30]
movss xmm0, dword [esp + 0x54]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100a6613
movss xmm0, dword [esp + 0x58]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100a6613
movss xmm0, dword [esp + 0x5c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100a6613
lea ecx, [esp + 0x4084]
call fcn.1002cf30
lea ecx, [esp + 0xac0]
call fcn.10092110
mov eax, dword [esp + 0xac0]
push 8
push eax
mov dword [esp + 0xac8], 0
call fcn.101a201e
add esi, 0x10
add esp, 8
mov dword [esp + 0x30], esi
cmp esi, dword [esp + 0xb8]
jne 0x100a5b51
jmp 0x100a6648
cmp edi, 0xffffffff
jle 0x100a607d
mov dword [esp + 0x3c], edi
mov dword [esp + 0x60], 0
cmp dword [esi + 0x10], edi
jbe 0x100a7219
mov eax, dword [esi + 0xc]
mov ecx, dword [esi]
add eax, edi
mov dword [esp + 0x40], eax
test ecx, ecx
je 0x100a6152
mov eax, dword [ecx]
jmp 0x100a6154
xor eax, eax
mov dword [esp + 0x18], eax
lea edx, [esp + 0x60]
mov eax, dword [esp + 0x1c]
add eax, 0x2920
mov ecx, dword [eax]
test ecx, ecx
cmovns edx, eax
cmp ecx, 0x100
mov eax, 0x101f2308
cmovle eax, edx
mov eax, dword [eax]
lea eax, [eax + eax*2]
shl eax, 4
push eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, dword [esp + 0x44]
mov eax, dword [eax + ecx*4]
add eax, 0x68
push eax
mov eax, dword [esp + 0x24]
push dword [eax + 0x2914]
call fcn.101a3550
mov eax, dword [0x1022ccc4]
add esp, 0xc
mov eax, dword [eax + 0x50]
mov dword [esp + 0x40], eax
cmp dword [esi + 0x10], edi
jbe 0x100a7219
mov edx, dword [esi + 0xc]
mov ecx, dword [esi]
add edx, edi
test ecx, ecx
je 0x100a61cf
mov eax, dword [ecx]
jmp 0x100a61d1
xor eax, eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, edx
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x1c]
add eax, 0x18
push eax
call dword [esp + 0x44]
mov eax, dword [0x1022ccc4]
mov eax, dword [eax + 0xe0]
mov dword [esp + 0x40], eax
mov dword [esp + 0x220], 0
cmp dword [esi + 0x10], edi
jbe 0x100a7219
mov edx, dword [esi + 0xc]
mov ecx, dword [esi]
add edx, edi
test ecx, ecx
je 0x100a621b
mov eax, dword [ecx]
jmp 0x100a621d
xor eax, eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, edx
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x1c]
movss xmm0, dword [eax + 0x38]
lea eax, [esp + 0x220]
push eax
movss dword [esp + 0x228], xmm0
mov dword [esp + 0x22c], 0
call dword [esp + 0x44]
mov eax, dword [0x1022ccc4]
mov eax, dword [eax + 0x130]
mov dword [esp + 0x60], eax
cmp dword [esi + 0x10], edi
jbe 0x100a7219
mov eax, dword [esi + 0xc]
mov edx, dword [esi]
lea esi, [eax + edi]
test edx, edx
je 0x100a627a
mov eax, dword [edx]
jmp 0x100a627c
xor eax, eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, esi
mov eax, dword [eax + ecx*4]
add eax, 0x4c
mov dword [esp + 0x40], eax
test edx, edx
je 0x100a6297
mov eax, dword [edx]
jmp 0x100a6299
xor eax, eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, esi
mov esi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
push dword [esp + 0x40]
lea ecx, [esi + 0x40]
push ecx
mov ecx, eax
call dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
cmp dword [ecx + 0x10], edi
jbe 0x100a7219
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx]
add edx, edi
test ecx, ecx
je 0x100a62da
mov eax, dword [ecx]
jmp 0x100a62dc
xor eax, eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
mov edi, dword [esp + 0x1c]
and ecx, edx
mov eax, dword [eax + ecx*4]
movss xmm0, dword [eax + 0x58]
jmp 0x100a63cd
cmp esi, 1
je 0x100a6085
mov ecx, dword [edi + 0x2920]
lea eax, [edi + 0x2920]
test ecx, ecx
mov dword [esp + 0x64], 0
lea edx, [esp + 0x64]
cmovns edx, eax
cmp ecx, 0x100
mov eax, 0x101f2308
cmovle eax, edx
mov eax, dword [eax]
lea eax, [eax + eax*2]
shl eax, 4
push eax
lea eax, [esp + 0xad8]
push eax
push dword [edi + 0x2914]
call fcn.101a3550
add esp, 0xc
lea eax, [esp + 0x40a8]
mov ecx, edi
push eax
mov eax, dword [0x1022ccc4]
mov eax, dword [eax + 0x50]
call eax
mov eax, dword [0x1022ccc4]
lea ecx, [esp + 0x150]
movss xmm0, dword [esp + 0x40c4]
push ecx
mov ecx, edi
mov eax, dword [eax + 0xe0]
mov dword [esp + 0x154], 0
movss dword [esp + 0x158], xmm0
mov dword [esp + 0x15c], 0
call eax
mov eax, dword [0x1022ccc4]
mov ecx, edi
mov esi, dword [eax + 0x130]
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
call eax
lea ecx, [esp + 0x409c]
push ecx
lea ecx, [esp + 0x4094]
push ecx
mov ecx, eax
call esi
movss xmm0, dword [esp + 0x40ec]
mov cx, word [esp + 0xd0]
lea eax, [esp + 0x54]
push eax
mov esi, dword [esp + 0x34]
lea eax, [esp + 0x1c4]
push eax
lea eax, [esp + 0x80]
movss xmm1, dword [esp + 0x188]
push eax
push dword [esp + 0x88]
movss xmm2, dword [esp + 0x194]
mov edx, edi
push dword [esp + 0x90]
movss dword [esp + 0x2c], xmm0
push dword [esp + 0xa0]
movaps xmm0, xmmword [esp + 0xd8]
push dword [esp + 0x3c]
push dword [esp + 0x48]
sub esp, 0x14
mov eax, esp
sub esp, 0x10
movups xmmword [eax], xmm0
mov word [eax + 0x10], cx
mov ecx, dword [esp + 0x8c]
movups xmm0, xmmword [esi]
mov byte [eax + 0x12], cl
mov eax, esp
push dword [edi + 0x2914]
mov ecx, dword [esp + 0x7c]
movups xmmword [eax], xmm0
mov eax, dword [esp + 0x94]
movss xmm0, dword [esp + 0x1c4]
movss xmm3, dword [eax]
movss xmm4, dword [eax + 4]
movss xmm5, dword [eax + 8]
call fcn.100a42f0
mov eax, dword [esp + 0x84]
mov ecx, edi
movq xmm0, qword [esp + 0xa0]
mov edx, dword [esp + 0xac]
movss xmm1, dword [esp + 0x128]
movss xmm2, dword [esp + 0x12c]
movss xmm3, dword [esp + 0x188]
movss xmm4, dword [esp + 0x18c]
movss xmm5, dword [esp + 0x190]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x98], eax
lea eax, [esp + 0xe0]
movq qword [esp + 0xe0], xmm0
movq xmm0, qword [esp + 0x100]
push eax
lea eax, [esp + 0x94]
movq qword [esp + 0x94], xmm0
movss xmm0, dword [esp + 0x128]
push eax
call fcn.10195f00
movss xmm0, dword [esp + 0x54]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100a6543
movss xmm0, dword [esp + 0x58]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100a6543
movss xmm0, dword [esp + 0x5c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100a6081
mov eax, dword [esi]
mov ecx, edi
movss xmm0, dword [esp + 0x18]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x4128]
push eax
movss dword [esp + 0x6c], xmm0
call fcn.10195840
xorps xmm0, xmm0
mov dword [esp + 0x110], 0
lea ecx, [esp + 0x4128]
movaps xmmword [esp + 0x100], xmm0
mov dword [esp + 0x114], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a6590
sub ecx, edx
lea eax, [esp + 0x4128]
push ecx
push eax
lea ecx, [esp + 0x108]
call fcn.10028880
mov eax, dword [esp + 0x144]
cmp eax, 0xf
jbe 0x100a65ec
mov edx, dword [esp + 0x130]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x100a65e2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a7223
push ecx
push edx
call fcn.101a201e
add esp, 8
movaps xmm0, xmmword [esp + 0x100]
movaps xmmword [esp + 0x130], xmm0
movq xmm0, qword [esp + 0x110]
movq qword [esp + 0x140], xmm0
jmp 0x100a6097
lea ecx, [esp + 0x4084]
call fcn.1002cf30
lea ecx, [esp + 0xac0]
call fcn.10092110
mov eax, dword [esp + 0xac0]
push 8
push eax
mov dword [esp + 0xac8], 0
call fcn.101a201e
add esp, 8
movss xmm0, dword [esp + 0x54]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100a667c
movss xmm0, dword [esp + 0x58]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100a667c
movss xmm0, dword [esp + 0x5c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100a667c
xor al, al
jmp 0x100a667e
mov al, 1
test al, al
je 0x100a7191
mov edi, dword [esp + 0x28]
mov eax, dword [0x105210d0]
cmp eax, dword [edi + 4]
jle 0x100a66d6
push 0x105210d0
call fcn.101a22b8
add esp, 4
cmp dword [0x105210d0], 0xffffffff
jne 0x100a66d3
mov eax, dword [esp + 0x34]
push 0x105210d0
movq xmm0, qword [eax + 0xc]
movq qword [0x105210c0], xmm0
mov eax, dword [eax + 0x14]
mov dword [0x105210c8], eax
call fcn.101a2267
add esp, 4
xorps xmm1, xmm1
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 4]
dec eax
cmp dword [0x10456928], eax
jne 0x100a6738
movss xmm0, dword [0x105210c0]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100a6719
movss xmm0, dword [0x105210c4]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100a6719
movss xmm0, dword [0x105210c8]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100a6738
mov eax, dword [esp + 0xc]
cmp byte [eax + 2], 0
je 0x100a6738
movq xmm0, qword [0x105210c0]
movq qword [ecx + 0xc], xmm0
mov eax, dword [0x105210c8]
mov dword [ecx + 0x14], eax
movss xmm0, dword [esp + 0x6c]
lea esi, [ecx + 0xc]
addss xmm0, dword [esi]
lea eax, [esp + 0x150]
push eax
lea edx, [esp + 0x58]
lea ecx, [esp + 0x180]
movss dword [esp + 0x154], xmm0
movss xmm0, dword [esp + 0x74]
addss xmm0, dword [esi + 4]
movss dword [esp + 0x158], xmm0
movss xmm0, dword [esp + 0x78]
addss xmm0, dword [esi + 8]
movss dword [esp + 0x15c], xmm0
call fcn.1008b960
mov ecx, dword [0x1022ccc8]
movss xmm4, dword [0x102017f0]
add ecx, 0x38bc
movss dword [esp + 0xb8], xmm1
movaps xmm1, xmm0
movss dword [esp + 0xb4], xmm0
movaps xmm0, xmm1
movss dword [esp + 0xbc], xmm2
andps xmm0, xmm4
movss xmm3, dword [ecx]
comiss xmm0, xmm3
mov byte [esp + 0x13], 0
movss xmm2, dword [esp + 0xb8]
movss dword [esp + 0x48], xmm1
movss dword [esp + 0x18], xmm2
ja 0x100a67f4
movaps xmm0, xmm2
andps xmm0, xmm4
comiss xmm0, xmm3
jbe 0x100a6866
movaps xmm0, xmm3
mov byte [esp + 0x13], 1
xorps xmm0, xmmword [0x10201820]
lea edx, [esp + 0xb4]
comiss xmm0, xmm1
lea eax, [esp + 0xac]
movss dword [esp + 0xac], xmm0
cmovbe eax, edx
lea edx, [esp + 0xb8]
comiss xmm1, xmm3
cmova eax, ecx
comiss xmm0, xmm2
movss xmm1, dword [eax]
lea eax, [esp + 0xac]
movss dword [esp + 0xb4], xmm1
cmovbe eax, edx
movss dword [esp + 0xac], xmm0
comiss xmm2, xmm3
movss dword [esp + 0x48], xmm1
cmova eax, ecx
movss xmm0, dword [eax]
movss dword [esp + 0x18], xmm0
mov eax, dword [0x1022ccc4]
movd xmm0, dword [0x105223dc]
cvtdq2ps xmm0, xmm0
mov eax, dword [eax + 0x10]
mulss xmm0, dword [eax + 0x20]
mov eax, dword [0x1044cc70]
movss dword [esp + 0x4c], xmm0
cmp eax, dword [edi + 4]
jle 0x100a68d5
push 0x1044cc70
call fcn.101a22b8
add esp, 4
cmp dword [0x1044cc70], 0xffffffff
jne 0x100a68cf
mov edx, 0xc60bf9f2
mov ecx, 0x101f0871
call fcn.1007ea30
mov ecx, eax
call fcn.100d5410
push 0x1044cc70
mov dword [0x1044ccb4], eax
call fcn.101a2267
add esp, 4
movss xmm0, dword [esp + 0x4c]
mov eax, dword [0x1044ccb4]
mov ecx, dword [esp + 0x2c]
comiss xmm0, dword [eax + ecx]
jb 0x100a694c
mov ecx, dword [esp + 0x34]
movss xmm0, dword [esp + 0x48]
mov edi, dword [esp + 0xc]
addss xmm0, dword [ecx + 0xc]
movss dword [ecx + 0xc], xmm0
movss xmm0, dword [esp + 0x18]
addss xmm0, dword [ecx + 0x10]
movss dword [ecx + 0x10], xmm0
movss xmm0, dword [esp + 0xbc]
addss xmm0, dword [ecx + 0x14]
movss dword [ecx + 0x14], xmm0
cmp byte [edi + 2], 0
jne 0x100a6939
mov eax, dword [0x1022ccd0]
push esi
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x4c]
call eax
mov ecx, dword [esp + 0x34]
cmp byte [edi + 5], 0
je 0x100a694c
cmp byte [esp + 0x13], 0
jne 0x100a6957
or dword [ecx + 0x30], 1
jmp 0x100a695b
cmp byte [esp + 0x13], 0
je 0x100a695b
mov ecx, dword [esp + 0x34]
and dword [ecx + 0x30], 0xfffffffe
mov edx, dword [esp + 0x3c]
xorps xmm0, xmm0
movaps xmmword [esp + 0xc0], xmm0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0xf
mov byte [esp + 0xc0], 0
test edx, edx
jle 0x100a6b7b
lea ecx, [esp + 0x188]
call fcn.10003fe0
cmp byte [str._ct__IN_], 0
mov edi, eax
mov ecx, dword [0x101f22cc]
mov esi, dword [0x101f22d0]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], esi
je 0x100a6b03
xor edx, edx
cmp dword [0x1022e690], 2
mov dword [esp + 0x3c], edx
jl 0x100a6ad0
movaps xmm2, xmmword [0x10201400]
movaps xmm4, xmmword [0x102017d0]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
mov eax, dword [0x10201560]
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10201480]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10201440]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0xac], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10201480]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, esi
xorps xmm1, xmm0
movd dword [esp + 0xb0], xmm1
jmp 0x100a6b03
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x38
xor byte [esp + edx + 0xac], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 8
jl 0x100a6ad0
xorps xmm0, xmm0
mov dword [esp + 0xf0], 0
lea ecx, [esp + 0xac]
movaps xmmword [esp + 0xe0], xmm0
mov dword [esp + 0xf4], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a6b30
sub ecx, edx
lea eax, [esp + 0xac]
push ecx
push eax
lea ecx, [esp + 0xe8]
call fcn.10028880
cmp dword [esp + 0xf4], 0xf
lea edx, [esp + 0xe0]
push edi
cmova edx, dword [esp + 0xe4]
lea ecx, [esp + 0x1ec]
call fcn.10025630
mov edi, eax
mov ecx, 7
jmp 0x100a6bad
movaps xmmword [esp + 0x1c0], xmm0
lea edi, [esp + 0x1c0]
mov dword [esp + 0x1d0], 0
mov ecx, 8
mov dword [esp + 0x1d4], 0xf
mov byte [esp + 0x1c0], 0
cmp byte [0x101f22ef], 0
movups xmm0, xmmword [0x101f22d4]
mov eax, dword [0x101f22ec]
mov dword [esp + 0x20], ecx
movups xmmword [esp + 0x100], xmm0
mov dword [esp + 0x118], eax
movq xmm0, qword [0x101f22e4]
movq qword [esp + 0x110], xmm0
je 0x100a6d67
xor edx, edx
cmp dword [0x1022e690], 2
mov dword [esp + 0x30], edx
jl 0x100a6d34
movaps xmm0, xmmword [0x10201560]
lea esi, [esp + 0x104]
movaps xmm4, xmmword [0x10201400]
movaps xmm3, xmmword [0x102017d0]
movaps xmm5, xmmword [0x10201480]
movaps xmmword [esp + 0x90], xmm0
mov ecx, dword [esp + 0x90]
nop
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x100]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x100], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + esi]
xorps xmm1, xmm0
movd dword [edx + esi], xmm1
add edx, 8
cmp edx, 0x18
jl 0x100a6c30
mov dword [esp + 0x30], edx
cmp edx, 0x1c
jge 0x100a6d67
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x30]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x38
xor byte [esp + edx + 0x100], cl
inc edx
mov dword [esp + 0x30], edx
cmp edx, 0x1c
jl 0x100a6d34
xorps xmm0, xmm0
mov dword [esp + 0x210], 0
lea ecx, [esp + 0x100]
movaps xmmword [esp + 0x200], xmm0
mov dword [esp + 0x214], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a6d92
sub ecx, edx
lea eax, [esp + 0x100]
push ecx
push eax
lea ecx, [esp + 0x208]
call fcn.10028880
cmp dword [esp + 0x214], 0xf
lea edx, [esp + 0x200]
cmova edx, dword [esp + 0x200]
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a6dd0
sub ecx, esi
mov eax, 0x7fffffff
mov esi, dword [esp + 0x140]
sub eax, esi
cmp eax, ecx
jb 0x100a721e
cmp dword [esp + 0x144], 0xf
lea eax, [esp + 0x130]
push esi
cmova eax, dword [esp + 0x134]
push eax
push ecx
push edx
push ecx
push dword [esp + 0xc0]
lea ecx, [esp + 0x238]
call fcn.1002aa60
push edi
lea eax, [esp + 0x224]
push eax
push dword [esp + 0xb4]
lea ecx, [esp + 0x1ac]
call fcn.1002a870
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x1b4]
cmp ecx, edx
jae 0x100a6e70
lea eax, [ecx + 1]
cmp edx, 0xf
mov dword [esp + 0x1b0], eax
lea eax, [esp + 0x1a0]
cmova eax, dword [esp + 0x1a0]
mov word [eax + ecx], 0xa
jmp 0x100a6e87
push 0xa
push dword [esp + 0xb0]
lea ecx, [esp + 0x1a8]
push 1
call fcn.10029360
movaps xmm0, xmmword [esp + 0x1a0]
lea eax, [esp + 0x150]
movaps xmmword [esp + 0x150], xmm0
lea ecx, [esp + 0xc0]
movq xmm0, qword [esp + 0x1b0]
push eax
movq qword [esp + 0x164], xmm0
call fcn.10021720
mov ecx, dword [esp + 0x164]
cmp ecx, 0xf
jbe 0x100a6ef9
mov edx, dword [esp + 0x150]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a6eef
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a7223
push ecx
push edx
call fcn.101a201e
add esp, 8
mov ecx, dword [esp + 0x234]
cmp ecx, 0xf
jbe 0x100a6f35
mov edx, dword [esp + 0x220]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a6f2b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a7223
push ecx
push edx
call fcn.101a201e
add esp, 8
mov ecx, dword [esp + 0x214]
cmp ecx, 0xf
jbe 0x100a6f71
mov edx, dword [esp + 0x200]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a6f67
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a7223
push ecx
push edx
call fcn.101a201e
add esp, 8
mov eax, dword [esp + 0x20]
test al, 8
je 0x100a6fc0
mov ecx, dword [esp + 0x1d4]
and eax, 0xfffffff7
mov dword [esp + 0x20], eax
cmp ecx, 0xf
jbe 0x100a6fc0
mov edx, dword [esp + 0x1c0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a6fb2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a7223
push ecx
push edx
call fcn.101a201e
mov eax, dword [esp + 0x28]
add esp, 8
test al, 4
je 0x100a7026
mov ecx, dword [esp + 0x1fc]
mov dword [esp + 0x20], eax
cmp ecx, 0xf
jbe 0x100a7008
mov edx, dword [esp + 0x1e8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a6ffa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a7223
push ecx
push edx
call fcn.101a201e
mov eax, dword [esp + 0x28]
add esp, 8
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x1fc], 0xf
mov byte [esp + 0x1e8], 0
test al, 2
je 0x100a706a
mov ecx, dword [esp + 0xf4]
cmp ecx, 0xf
jbe 0x100a706a
mov edx, dword [esp + 0xe0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a705c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a7223
push ecx
push edx
call fcn.101a201e
mov eax, dword [esp + 0x28]
add esp, 8
test al, 1
je 0x100a70aa
mov ecx, dword [esp + 0x19c]
cmp ecx, 0xf
jbe 0x100a70aa
mov edx, dword [esp + 0x188]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a70a0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a7223
push ecx
push edx
call fcn.101a201e
add esp, 8
cmp dword [esp + 0xd4], 0xf
lea eax, [esp + 0xc0]
mov dword [esp + 0x2c], 0xffffffff
push dword [esp + 0x2c]
cmova eax, dword [esp + 0xc4]
push dword [esp + 0xd4]
push eax
call fcn.100c21d0
mov esi, dword [esp + 0x34]
test byte [esi + 0x30], 1
je 0x100a711a
call fcn.100950b0
mov eax, dword [0x1022ccc4]
addss xmm0, dword [esp + 0x68]
mov ecx, dword [esp + 0x50]
mov eax, dword [eax + 0x10]
divss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x10200e0c]
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x68]
mov dword [esi + 8], eax
call fcn.100a8af0
cmp byte [esp + 0x13], 0
je 0x100a7138
movq xmm0, qword [esi + 0xc]
movq qword [0x105210c0], xmm0
mov eax, dword [esi + 0x14]
mov dword [0x105210c8], eax
jmp 0x100a714d
xorps xmm0, xmm0
mov dword [0x105210c8], 0
movq qword [0x105210c0], xmm0
mov ecx, dword [esp + 0xd4]
mov eax, dword [esi + 4]
mov dword [0x10456928], eax
cmp ecx, 0xf
jbe 0x100a7191
mov edx, dword [esp + 0xc0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a7187
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a7228
push ecx
push edx
call fcn.101a201e
add esp, 8
mov eax, dword [esp + 0x144]
cmp eax, 0xf
jbe 0x100a71cb
mov edx, dword [esp + 0x130]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x100a71c1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a722d
push ecx
push edx
call fcn.101a201e
add esp, 8
mov ecx, dword [esp + 0x38]
test ecx, ecx
je case.0x100a4e75.0
mov edx, dword [esp + 0x44]
mov eax, ecx
sub edx, ecx
and edx, 0xfffffff0
cmp edx, 0x1000
jb 0x100a71f6
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a722d
push edx
push ecx
call fcn.101a201e
add esp, 8
mov ecx, dword [esp + 0x41ac]
pop edi
pop esi
xor ecx, esp
call fcn.101a1d25
mov esp, ebp
pop ebp
ret
call fcn.10092100
call fcn.10096270
call fcn.10003660
call fcn.101a7156
call fcn.101a7156
call fcn.101a7156
nop
add byte [edx + 0xa], dh
adc byte [eax + 2081425998], dl
dec esi
or dl, byte [eax]
test dword [esi + 0xa], ecx
adc byte [ecx + 2131757654], dl
push esi
or dl, byte [eax]
jno 0x100a72a4
or dl, byte [eax]
js 0x100a72a8
or dl, byte [eax]
fistp dword [ebx + 0xa]
adc ah, al
pop ebx
or dl, byte [eax]
mov ah, 0x5b
or dl, byte [eax]
mov ebp, 0xcc100a5b
int3
mov eax, dword [edi + 0xc]
dec eax
add ecx, eax
mov eax, dword [edi + 8]
dec eax
and ecx, eax
mov eax, dword [edi + 4]
mov esi, dword [eax + ecx*4]
lea ecx, [esi + 0x1858]
call fcn.100400e0
mov eax, dword [esi + 0x1858]
push 8
push eax
mov dword [esi + 0x1858], 0
or byte [eax - 0x39], dl
xchg byte [eax + 0x18], bl
add byte [eax], al
add byte [eax], al
add byte [eax], al
pop eax
sbb byte [eax], al
add byte [eax], al
add byte [eax], al
add al, ch
imul ebp, dword [ebp + 0x4f8b000f], 0x8c48310
call fcn.101a201e
mov ecx, dword [edi + 0x10]
add esp, 8
sub ecx, 1
mov dword [edi + 0x10], ecx
jne 0x100a7280
mov dword [edi + 0xc], 0
cmp dword [edi + 4], 0
lea ebx, [edi + 4]
je 0x100a7338
mov esi, dword [edi + 8]
test esi, esi
je 0x100a730c
nop word [eax + eax]
mov eax, dword [ebx]
dec esi
mov eax, dword [eax + esi*4]
test eax, eax
je 0x100a7305
mov ecx, dword [eax - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a735c
push 0x18b3
push ecx
call fcn.101a201e
add esp, 8
test esi, esi
jne 0x100a72e0
lea ebx, [edi + 4]
mov ecx, dword [edi + 8]
mov eax, dword [ebx]
shl ecx, 2
cmp ecx, 0x1000
jb 0x100a732e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a735c
mov eax, edx
push ecx
push eax
call fcn.101a201e
add esp, 8
mov eax, dword [edi]
push 8
push eax
mov dword [edi + 8], 0
mov dword [ebx], 0
mov dword [edi], 0
call fcn.101a201e
add esp, 8
pop edi
pop esi
pop ebx
ret
call fcn.101a7156
int3