Function at 0x100d3554
Capabilities:
Encode data using base64

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e78bf
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x4c8
mov eax, dword [0x10103040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebx + 8]
xor eax, eax
mov dword [ebp - 0x3ac], eax
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ebp - 0x9c], xmm0
mov dword [ebp - 0x394], edi
mov dword [ebp - 0x38c], eax
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], 0xf
mov byte [ebp - 0x9c], al
mov dword [ebp - 4], eax
mov ecx, dword [0x10421e50]
mov eax, dword [0x10324448]
add ecx, 0xffffffe1
xor ecx, 0x8fb53eaa
mov dword [ebp - 0x444], 0
vmovss xmm0, dword [ecx + edi]
vsubss xmm1, xmm0, dword [ecx + eax]
vmovss xmm0, dword [ecx + edi + 4]
vsubss xmm2, xmm0, dword [ecx + eax + 4]
vmovss xmm0, dword [ecx + edi + 8]
vsubss xmm3, xmm0, dword [ecx + eax + 8]
vmulss xmm0, xmm2, xmm2
vmulss xmm1, xmm1, xmm1
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm3, xmm3
vaddss xmm0, xmm1, xmm0
vcvtss2sd xmm0, xmm0, xmm0
vmulsd xmm0, xmm0, qword [0x100f6a68]
vmulsd xmm0, xmm0, qword [0x100f6a38]
vcvttsd2si esi, xmm0
mov dword [ebp - 0x60], esi
test esi, esi
jle 0x100d277a
mov dword [ebp - 0x444], 9
cmp esi, 5
jle 0x100d2724
mov eax, 0x66666667
mov ecx, esi
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*4]
sub ecx, eax
je 0x100d270d
nop dword [eax]
dec esi
mov eax, 0x66666667
imul esi
mov ecx, esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*4]
sub ecx, eax
jne 0x100d26f0
mov dword [ebp - 0x60], esi
mov eax, 0x66666667
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*4]
sub esi, eax
jne 0x100d277a
lea eax, [ebp - 0x60]
mov edx, str._i_FT
push eax
lea ecx, [ebp - 0x3c]
call fcn.100a9f80
add esp, 4
lea ecx, [ebp - 0x9c]
push eax
call fcn.10051770
mov ecx, dword [ebp - 0x28]
cmp ecx, 0xf
jbe 0x100d277a
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d2770
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100d2770
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100dbda7
add esp, 8
mov eax, dword [edi + 8]
add edi, 8
mov ecx, edi
mov dword [ebp - 0x3c0], edi
mov eax, dword [eax + 0x28]
call eax
mov edx, dword [0x10421e64]
mov ecx, dword [0x1041a004]
add edx, 0xffffffdc
mov dword [ebp - 0x390], eax
xor edx, 0x8fb53eaf
lea esi, [eax*4 + 0x1041f804]
mov eax, dword [ebp - 0x394]
vmovss xmm0, dword [ecx + 0x14]
vmulss xmm0, xmm0, dword [0x100f6ad8]
mov ecx, dword [edx + eax]
mov eax, dword [0x10324448]
vmovss dword [ebp - 0x36c], xmm0
cmp ecx, dword [edx + eax]
je 0x100d27e0
mov byte [ebp - 0x351], 1
jmp 0x100d27f6
mov ecx, dword [0x1041a0a8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
setne byte [ebp - 0x351]
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x24]
call eax
cmp byte [0x102ae664], 0
mov ch, al
mov dl, byte [ebp - 0x351]
mov byte [ebp - 0x361], ch
je 0x100d2869
test dl, dl
je 0x100d2869
test ch, ch
jne 0x100d2869
mov eax, dword [0x10421efc]
mov ecx, dword [ebp - 0x394]
add eax, 0xffffffb6
xor eax, 0x8fb53ed5
mov byte [eax + ecx], 1
mov eax, dword [ebp - 0x390]
mov ch, byte [ebp - 0x361]
mov byte [eax + 0x1041f7c7], 1
vmovss xmm0, dword [esi]
vaddss xmm0, xmm0, dword [ebp - 0x36c]
vmovss dword [esi], xmm0
test dl, dl
je 0x100d2888
cmp byte [0x102ac270], 0
je 0x100d2888
mov cl, 1
jmp 0x100d288a
mov eax, dword [ebp - 0x390]
mov byte [eax + 0x1041f7c7], 1
vmovss xmm0, dword [esi]
test ch, ch
je 0x100d284c
vsubss xmm0, xmm0, dword [ebp - 0x36c]
jmp 0x100d2854
xor cl, cl
vmovss xmm1, dword [0x100f6a5c]
vmovss xmm0, dword [esi]
vcomiss xmm0, xmm1
lea eax, [ebp - 0x35c]
mov byte [ebp - 0x352], cl
cmovbe eax, esi
vmovss dword [ebp - 0x35c], xmm1
vxorps xmm2, xmm2, xmm2
vmovss dword [ebp - 0x460], xmm1
vmovss xmm0, dword [eax]
vmaxss xmm1, xmm0, xmm2
vucomiss xmm1, xmm2
vmovss dword [esi], xmm1
lahf
test ah, 0x44
jp 0x100d28db
test cl, cl
je 0x100d51f9
vmulss xmm0, xmm1, dword [0x100f6c0c]
vcvttss2si eax, xmm0
mov dword [ebp - 0x3c4], eax
vmulss xmm0, xmm1, dword [0x100f6be4]
vcvttss2si eax, xmm0
mov dword [ebp - 0x360], eax
mov dword [ebp - 0x368], eax
test ch, ch
je 0x100d29b8
mov eax, dword [0x10422164]
mov ecx, edi
mov eax, dword [eax]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x35c], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x10422164]
push eax
call dword [ebp - 0x35c]
fstp dword [ebp - 0x35c]
vmovss xmm0, dword [ebp - 0x35c]
vcomiss xmm0, dword [0x100f6b3c]
ja 0x100d51f9
cmp byte [ebp - 0x352], 0
je 0x100d29b8
mov eax, dword [0x10422164]
mov ecx, edi
mov dword [ebp - 0x3c4], 0x70
mov dword [ebp - 0x360], 0x50
mov eax, dword [eax]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x35c], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x10422164]
push eax
call dword [ebp - 0x35c]
fstp dword [ebp - 0x35c]
vmovss xmm0, dword [ebp - 0x35c]
xor ecx, ecx
mov eax, 0x50
vcomiss xmm0, dword [0x100f6b00]
cmova eax, ecx
mov dword [ebp - 0x368], eax
mov ecx, dword [0x10419fa4]
lea edx, [ebp - 0x1f8]
push edx
push dword [ebp - 0x390]
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x100d51f9
push dword [ebp - 0x3c4]
mov esi, dword [ebp - 0x394]
mov ecx, 0x1041f7c8
push esi
call fcn.100d1a70
lea eax, [ebp - 0x3a4]
push eax
push esi
call fcn.100d6600
test al, al
je 0x100d51f9
cmp byte [ebp - 0x351], 0
mov eax, dword [0x102ad130]
mov ecx, dword [0x102ad12c]
je 0x100d2a34
mov edx, ecx
cmp ecx, eax
je 0x100d2a2c
cmp dword [edx], 0
je 0x100d2a2c
add edx, 8
cmp edx, eax
jne 0x100d2a20
cmp edx, eax
je 0x100d2a34
mov dl, 1
jmp 0x100d2a3e
xor dl, dl
cmp byte [ebp - 0x351], dl
je 0x100d2a59
cmp ecx, eax
je 0x100d2a59
cmp dword [ecx], 1
je 0x100d2a4e
add ecx, 8
cmp ecx, eax
jne 0x100d2a42
mov byte [ebp - 0x352], 1
cmp ecx, eax
jne 0x100d2a60
mov byte [ebp - 0x352], 0
test dl, dl
je 0x100d2a6b
push ecx
push esi
call fcn.100d6a10
cmp byte [ebp - 0x352], 0
je 0x100d2a7b
push ecx
push esi
call fcn.100d7130
cmp byte [ebp - 0x351], 0
je 0x100d2b12
cmp byte [0x102abfdc], 0
je 0x100d2b04
cmp byte [ebp - 0x361], 0
mov edx, dword [ebp - 0x360]
je 0x100d2ac4
mov eax, dword [ebp - 0x3c4]
movzx ecx, al
shl ecx, 0x18
or ecx, 0xd2d2d2
push ecx
mov eax, esp
push ecx
mov word [eax], 0
mov byte [eax + 2], 0
mov byte [eax + 3], dl
jmp 0x100d2ae4
vcvttss2si eax, dword [0x102ad048]
mov word [ebp - 0x24], 0
mov byte [ebp - 0x22], 0
mov byte [ebp - 0x21], dl
push dword [ebp - 0x24]
movzx ecx, al
push ecx
mov eax, esp
mov dword [eax], ecx
push dword [ebp - 0x398]
mov edx, dword [ebp - 0x3a0]
push dword [ebp - 0x39c]
mov ecx, dword [ebp - 0x3a4]
call fcn.100c6ae0
add esp, 0x10
cmp byte [0x102ac6ac], 0
jne 0x100d2b1f
jmp 0x100d2c8a
cmp byte [0x102abf50], 0
je 0x100d2c8a
vpxor xmm0, xmm0, xmm0
lea ecx, [ebp - 0x1e8]
mov dword [ebp - 0x4c], 0
vmovdqu xmmword [ebp - 0x5c], xmm0
mov dword [ebp - 0x48], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d2b40
sub ecx, edx
lea eax, [ebp - 0x1e8]
push ecx
push eax
lea ecx, [ebp - 0x5c]
call fcn.10036650
mov byte [ebp - 4], 1
lea eax, [ebp - 0x5c]
mov ecx, 0xc
mov dword [ebp - 0x2c], 0
cmp dword [ebp - 0x4c], ecx
vpxor xmm0, xmm0, xmm0
cmovb ecx, dword [ebp - 0x4c]
cmp dword [ebp - 0x48], 0xf
push ecx
cmova eax, dword [ebp - 0x5c]
lea ecx, [ebp - 0x3c]
push eax
vmovdqu xmmword [ebp - 0x3c], xmm0
mov dword [ebp - 0x28], 0
call fcn.10036650
mov eax, dword [ebp - 0x38c]
or eax, 0x40
mov dword [ebp - 0x38c], eax
mov dword [ebp - 0x3ac], eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x48]
cmp ecx, 0xf
jbe 0x100d2be2
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d2bd8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d2c7a
push ecx
push edx
call fcn.100dbda7
add esp, 8
cmp byte [ebp - 0x361], 0
mov eax, dword [0x102ac754]
mov dword [ebp - 0x390], eax
je 0x100d2c04
mov eax, dword [ebp - 0x360]
mov byte [ebp - 0x38d], al
jmp 0x100d2c1b
mov al, byte [0x102ac757]
mov byte [ebp - 0x38d], al
mov eax, dword [ebp - 0x360]
mov dword [ebp - 0x360], eax
push 2
lea eax, [ebp - 0x3c]
mov ecx, 0x1041eff4
push eax
push dword [ebp - 0x390]
mov eax, dword [ebp - 0x3a0]
sub eax, dword [0x1041effc]
push eax
mov eax, dword [ebp - 0x39c]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x3a4]
push eax
call fcn.100c7720
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x28]
cmp ecx, 0xf
jbe 0x100d2c96
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d2c80
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100d2c80
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100dbda7
add esp, 8
mov eax, dword [ebp - 0x360]
mov dword [ebp - 0x360], eax
cmp byte [ebp - 0x351], 0
mov edx, 0x64
vmovdqa xmm2, xmmword [0x100f6e60]
vmovdqa xmm3, xmmword [0x100f6d20]
vmovdqa xmm4, xmmword [0x100f6d50]
vmovss xmm1, dword [0x100f6bbc]
vmovdqa xmmword [ebp - 0x4d0], xmm2
vmovdqa xmmword [ebp - 0x4b0], xmm3
vmovdqa xmmword [ebp - 0x4c0], xmm4
je 0x100d2f12
cmp byte [0x102ac884], 0
je 0x100d2f12
mov eax, dword [0x10421eb4]
mov ecx, edx
add eax, 0xffffffc8
mov edi, dword [ebp - 0x398]
xor eax, 0x8fb53ec3
mov word [ebp - 0x24], 0xa0a
add eax, dword [ebp - 0x394]
vxorps xmm0, xmm0, xmm0
lea esi, [edi - 2]
mov byte [ebp - 0x22], 0xa
cmp dword [eax], ecx
cmovl ecx, dword [eax]
mov eax, edx
sub eax, ecx
mov dword [ebp - 0x390], ecx
imul ecx, eax, 0x1fe
mov eax, 0x51eb851f
imul ecx
mov ecx, 0xff
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ecx
cmovg eax, ecx
imul ecx, dword [ebp - 0x390], 0x1fe
mov dword [ebp - 0x35c], eax
mov eax, 0x51eb851f
imul ecx
mov ecx, 0xff
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0xff
cmovg eax, ecx
mov ecx, dword [0x10419fb0]
mov dword [ebp - 0x3a8], eax
mov eax, dword [ebp - 0x390]
imul eax, esi
mov esi, dword [ebp - 0x3a4]
add esi, 0xfffffffa
vcvtsi2ss xmm0, xmm0, eax
vdivss xmm1, xmm0, xmm1
vandnps xmm0, xmm2, xmm1
vandps xmm2, xmm2, xmm1
vroundps xmm1, xmm0, 0
vsubss xmm0, xmm0, xmm1
vcmpeqss xmm0, xmm0, xmm3
vandps xmm0, xmm0, xmm4
vaddss xmm0, xmm0, xmm1
vorps xmm0, xmm0, xmm2
vcvttss2si eax, xmm0
mov dword [ebp - 0x36c], eax
mov eax, dword [ebp - 0x360]
mov byte [ebp - 0x21], al
mov eax, dword [ecx]
push dword [ebp - 0x24]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10419fb0]
inc edi
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
mov eax, dword [ebp - 0x3a0]
add eax, edi
push eax
lea eax, [esi + 3]
push eax
mov eax, dword [ebp - 0x3a0]
push eax
push esi
call edx
mov eax, dword [ebp - 0x35c]
mov byte [ebp - 0x24], al
mov eax, dword [ebp - 0x3a8]
mov byte [ebp - 0x23], al
mov eax, dword [ebp - 0x3c4]
mov byte [ebp - 0x21], al
mov eax, dword [ebp - 0x398]
mov byte [ebp - 0x22], 0x50
mov ecx, dword [ebp - 0x3a0]
add eax, 0xfffffffe
sub eax, dword [ebp - 0x36c]
inc ecx
push dword [ebp - 0x24]
mov edi, dword [ebp - 0x3a4]
add eax, ecx
mov ecx, dword [0x10419fb0]
mov dword [ebp - 0x3b4], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10419fb0]
mov edx, dword [ebp - 0x3b4]
mov eax, dword [ecx]
mov esi, dword [eax + 0x48]
mov eax, dword [ebp - 0x36c]
add eax, edx
push eax
lea eax, [edi - 4]
push eax
push edx
lea eax, [edi - 5]
push eax
call esi
mov eax, dword [ebp - 0x390]
mov edi, dword [ebp - 0x3c0]
cmp eax, 0x64
jg 0x100d2f07
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.1004cc40
mov edx, dword [ebp - 0x360]
push 2
push eax
push ecx
mov eax, esp
mov byte [ebp - 4], 4
mov ecx, 0x1041f03c
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov byte [eax + 3], dl
mov eax, dword [ebp - 0x3b4]
add eax, 0xfffffffb
push eax
mov eax, dword [ebp - 0x3a4]
add eax, 0xfffffffb
push eax
call fcn.100c7720
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x28]
cmp ecx, 0xf
jbe 0x100d2f07
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d2efd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100d2efd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100dbda7
add esp, 8
mov esi, dword [ebp - 0x394]
mov edx, 0x64
mov eax, dword [0x10421eb4]
mov ecx, edi
add eax, 0xffffffc8
xor eax, 0x8fb53ec3
cmp dword [eax + esi], 0x64
cmovl edx, dword [eax + esi]
mov eax, dword [edi]
mov dword [ebp - 0x428], edx
mov eax, dword [eax + 0x28]
call eax
dec eax
mov dword [ebp - 0x18], 0
imul eax, eax, 0x50d8
vpxor xmm0, xmm0, xmm0
vmovq qword [ebp - 0x20], xmm0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
add eax, 0x101032b4
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x3b0], eax
cmp byte [ebp - 0x351], 0
mov byte [ebp - 4], 5
vmovq qword [ebp - 0x84], xmm0
mov dword [ebp - 0x7c], 0
je 0x100d2fa5
lea eax, [ebp - 0x45c]
mov ecx, 0x102ac960
push eax
call fcn.1003cc20
mov edx, dword [ebp - 0x38c]
or edx, 1
jmp 0x100d2fbf
lea eax, [ebp - 0x450]
mov ecx, 0x102acf30
push eax
call fcn.1003cc20
mov edx, dword [ebp - 0x38c]
or edx, 2
mov ecx, dword [eax + 4]
mov esi, dword [eax + 8]
mov dword [ebp - 0x390], ecx
mov ecx, dword [eax]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov eax, dword [ebp - 0x390]
mov dword [ebp - 0x3ac], edx
mov dword [ebp - 0x38c], edx
mov dword [ebp - 0x358], ecx
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], esi
mov dword [ebp - 4], 7
test dl, 2
je 0x100d3084
mov ecx, dword [ebp - 0x450]
and edx, 0xfffffffd
mov dword [ebp - 0x38c], edx
mov dword [ebp - 0x3ac], edx
test ecx, ecx
je 0x100d3084
mov eax, dword [ebp - 0x448]
sub eax, ecx
sar eax, 2
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x100d3056
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d30d2
push edx
push ecx
call fcn.100dbda7
mov edx, dword [ebp - 0x38c]
add esp, 8
mov dword [ebp - 0x450], 0
mov dword [ebp - 0x44c], 0
mov dword [ebp - 0x448], 0
mov byte [ebp - 4], 8
test dl, 1
je 0x100d3100
mov ecx, dword [ebp - 0x45c]
and edx, 0xfffffffe
mov dword [ebp - 0x38c], edx
mov dword [ebp - 0x3ac], edx
test ecx, ecx
je 0x100d3100
mov eax, dword [ebp - 0x454]
sub eax, ecx
sar eax, 2
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x100d30d8
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100d30d8
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100dbda7
add esp, 8
mov dword [ebp - 0x45c], 0
mov dword [ebp - 0x458], 0
mov dword [ebp - 0x454], 0
mov eax, dword [ebp - 0x390]
cmp dword [ebp - 0x358], eax
je 0x100d5162
vmovdqa xmm0, xmmword [0x100f6e50]
vmovdqa xmmword [ebp - 0x480], xmm0
vmovdqa xmm0, xmmword [0x100f6db0]
vmovdqa xmmword [ebp - 0x490], xmm0
vmovdqa xmm0, xmmword [0x100f6dc0]
vmovdqa xmmword [ebp - 0x470], xmm0
mov eax, dword [0x10421e94]
mov esi, dword [ebp - 0x394]
add eax, 0xffffffd0
xor eax, 0x8fb53ebb
cmp byte [eax + esi], 0
jne 0x100d4689
mov eax, dword [0x10421eb4]
add eax, 0xffffffc8
xor eax, 0x8fb53ec3
cmp dword [eax + esi], 0
jle 0x100d4689
cmp byte [ebp - 0x351], 0
je 0x100d478a
cmp byte [ebp - 0x361], 0
jne 0x100d4696
mov edx, dword [ebp - 0x358]
cmp dword [edx], 0
jne 0x100d32bf
mov eax, dword [0x10421eb8]
lea ecx, [ebp - 0x3c]
add eax, 0xffffffc7
mov edx, 0x100f6848
xor eax, 0x8fb53ec4
add eax, esi
push eax
call fcn.100a9f80
add esp, 4
mov ecx, dword [ebp - 0x368]
mov byte [ebp - 0x3f1], cl
lea ecx, [ebp - 0x388]
push eax
mov byte [ebp - 4], 9
mov word [ebp - 0x3f4], 0xd29b
mov byte [ebp - 0x3f2], 0x64
call fcn.10035f70
mov eax, dword [ebp - 0x3f4]
mov dword [ebp - 0x370], eax
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x18]
je 0x100d3231
vmovdqu xmm0, xmmword [ebp - 0x388]
vmovdqu xmmword [ecx], xmm0
vmovq xmm0, qword [ebp - 0x378]
vmovq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
mov edx, 0xf
add dword [ebp - 0x1c], 0x1c
mov byte [ebp - 0x388], 0
jmp 0x100d3247
lea eax, [ebp - 0x388]
push eax
push ecx
lea ecx, [ebp - 0x20]
call fcn.100a5d20
mov edx, dword [ebp - 0x374]
mov byte [ebp - 4], 9
cmp edx, 0xf
jbe 0x100d3281
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x388]
mov eax, edx
cmp ecx, 0x1000
jb 0x100d3277
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d276a
push ecx
push edx
call fcn.100dbda7
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x28]
cmp ecx, 0xf
jbe 0x100d32b9
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d32af
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d276a
push ecx
push edx
call fcn.100dbda7
add esp, 8
mov edx, dword [ebp - 0x358]
cmp dword [edx], 1
jne 0x100d345c
mov eax, dword [0x1041a1d0]
mov ecx, dword [eax + esi]
vmovss xmm0, dword [ecx + 0x58]
vucomiss xmm0, dword [0x100f6974]
lahf
test ah, 0x44
jnp 0x100d345c
mov eax, dword [ecx + 0x50]
mov ecx, dword [0x1041a164]
mov dword [ebp - 0x3a8], ecx
mov ecx, dword [0x1041a1f0]
mov dword [ebp - 0x35c], eax
cmp dword [esi + ecx], 0
jne 0x100d331d
mov eax, dword [0x1041a140]
mov ecx, esi
call eax
mov ecx, dword [0x1041a1f0]
mov eax, dword [ebp - 0x35c]
mov ecx, dword [esi + ecx]
mov edx, eax
call dword [ebp - 0x3a8]
cmp eax, 0x3c7
jne 0x100d3456
push 6
vpxor xmm0, xmm0, xmm0
push str.RELOAD
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x2c], 0
vmovdqu xmmword [ebp - 0x3c], xmm0
mov dword [ebp - 0x28], 0
call fcn.10036650
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x388]
mov byte [ebp - 0x3f5], al
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0xb
mov word [ebp - 0x3f8], 0xaf00
mov byte [ebp - 0x3f6], 0xff
call fcn.10035f70
mov eax, dword [ebp - 0x3f8]
mov dword [ebp - 0x370], eax
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x18]
je 0x100d33ce
vmovdqu xmm0, xmmword [ebp - 0x388]
vmovdqu xmmword [ecx], xmm0
vmovq xmm0, qword [ebp - 0x378]
vmovq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
mov edx, 0xf
add dword [ebp - 0x1c], 0x1c
mov byte [ebp - 0x388], 0
jmp 0x100d33e4
lea eax, [ebp - 0x388]
push eax
push ecx
lea ecx, [ebp - 0x20]
call fcn.100a5d20
mov edx, dword [ebp - 0x374]
mov byte [ebp - 4], 0xb
cmp edx, 0xf
jbe 0x100d341e
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x388]
mov eax, edx
cmp ecx, 0x1000
jb 0x100d3414
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d276a
push ecx
push edx
call fcn.100dbda7
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x28]
cmp ecx, 0xf
jbe 0x100d3456
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d344c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d276a
push ecx
push edx
call fcn.100dbda7
add esp, 8
mov edx, dword [ebp - 0x358]
cmp dword [edx], 2
jne 0x100d3663
mov eax, dword [0x10421f04]
add eax, 0xffffffb4
xor eax, 0x8fb53ed7
cmp dword [eax + esi], 0
jle 0x100d3663
mov eax, dword [0x10421ee8]
lea ecx, [ebp - 0x3c]
add eax, 0xffffffbb
mov dword [ebp - 0x2c], 0
xor eax, 0x8fb53ed0
mov dword [ebp - 0x28], 0
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ebp - 0x3c], xmm0
cmp byte [eax + esi], 0
je 0x100d3554
push 2
push 0x100f681c
call fcn.10036650
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x388]
mov byte [ebp - 0x3f9], al
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0xd
mov word [ebp - 0x3fc], 0xffff
mov byte [ebp - 0x3fa], 0xff
call fcn.10035f70
mov eax, dword [ebp - 0x3fc]
mov dword [ebp - 0x370], eax
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x18]
je 0x100d3535
vmovdqu xmm0, xmmword [ebp - 0x388]
vmovdqu xmmword [ecx], xmm0
vmovq xmm0, qword [ebp - 0x378]
vmovq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
mov edx, 0xf
add dword [ebp - 0x1c], 0x1c
mov byte [ebp - 0x388], 0
mov byte [ebp - 4], 0xd
jmp 0x100d35ef
lea eax, [ebp - 0x388]
push eax
push ecx
lea ecx, [ebp - 0x20]
call fcn.100a5d20
mov edx, dword [ebp - 0x374]
mov byte [ebp - 4], 0xd
jmp 0x100d35ef
push 1
push 0x100f6830
call fcn.10036650
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x388]
mov byte [ebp - 0x401], al
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0xf
mov word [ebp - 0x404], 0xffff
mov byte [ebp - 0x402], 0xff
call fcn.10035f70
mov eax, dword [ebp - 0x404]
mov dword [ebp - 0x370], eax
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x18]
je 0x100d35d5
vmovdqu xmm0, xmmword [ebp - 0x388]
vmovdqu xmmword [ecx], xmm0
vmovq xmm0, qword [ebp - 0x378]
vmovq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
mov edx, 0xf
add dword [ebp - 0x1c], 0x1c
mov byte [ebp - 0x388], 0
jmp 0x100d35eb
lea eax, [ebp - 0x388]
push eax
push ecx
lea ecx, [ebp - 0x20]
call fcn.100a5d20
mov edx, dword [ebp - 0x374]
mov byte [ebp - 4], 0xf
cmp edx, 0xf
jbe 0x100d3625
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x388]
mov eax, edx
cmp ecx, 0x1000
jb 0x100d361b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d276a
push ecx
push edx
call fcn.100dbda7
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x28]
cmp ecx, 0xf
jbe 0x100d365d
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d3653
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d276a
push ecx
push edx
call fcn.100dbda7
add esp, 8
mov edx, dword [ebp - 0x358]
cmp dword [edx], 3
jne 0x100d3776
mov eax, dword [0x10421f14]
add eax, 0xffffffb0
xor eax, 0x8fb53edb
vmovss xmm0, dword [eax + esi]
vcomiss xmm0, dword [0x100f6974]
jbe 0x100d3776
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x388]
push 5
vpxor xmm0, xmm0, xmm0
push str.BLIND
mov word [ebp - 0x40c], 0xffff
mov byte [ebp - 0x40a], 0
mov byte [ebp - 0x409], al
vmovdqu xmmword [ebp - 0x388], xmm0
mov dword [ebp - 0x378], 0
mov dword [ebp - 0x374], 0
call fcn.10036650
mov eax, dword [ebp - 0x40c]
mov dword [ebp - 0x370], eax
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x18]
je 0x100d3720
vmovdqu xmm0, xmmword [ebp - 0x388]
vmovdqu xmmword [ecx], xmm0
vmovq xmm0, qword [ebp - 0x378]
vmovq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
mov edx, 0xf
add dword [ebp - 0x1c], 0x1c
mov byte [ebp - 0x388], 0
jmp 0x100d3736
lea eax, [ebp - 0x388]
push eax
push ecx
lea ecx, [ebp - 0x20]
call fcn.100a5d20
mov edx, dword [ebp - 0x374]
mov byte [ebp - 4], 8
cmp edx, 0xf
jbe 0x100d3770
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x388]
mov eax, edx
cmp ecx, 0x1000
jb 0x100d3766
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d276a
push ecx
push edx
call fcn.100dbda7
add esp, 8
mov edx, dword [ebp - 0x358]
cmp dword [edx], 4
jne 0x100d38bf
mov eax, dword [0x10421ef4]
add eax, 0xffffffb8
xor eax, 0x8fb53ed3
cmp byte [eax + esi], 0
je 0x100d38bf
push 6
vpxor xmm0, xmm0, xmm0
push str.SCOPED
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x2c], 0
vmovdqu xmmword [ebp - 0x3c], xmm0
mov dword [ebp - 0x28], 0
call fcn.10036650
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x388]
mov byte [ebp - 0x40d], al
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0x12
mov word [ebp - 0x410], 0xaf00
mov byte [ebp - 0x40e], 0xff
call fcn.10035f70
mov eax, dword [ebp - 0x410]
mov dword [ebp - 0x370], eax
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x18]
je 0x100d3831
vmovdqu xmm0, xmmword [ebp - 0x388]
vmovdqu xmmword [ecx], xmm0
vmovq xmm0, qword [ebp - 0x378]
vmovq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
mov edx, 0xf
add dword [ebp - 0x1c], 0x1c
mov byte [ebp - 0x388], 0
jmp 0x100d3847
lea eax, [ebp - 0x388]
push eax
push ecx
lea ecx, [ebp - 0x20]
call fcn.100a5d20
mov edx, dword [ebp - 0x374]
mov byte [ebp - 4], 0x12
cmp edx, 0xf
jbe 0x100d3881
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x388]
mov eax, edx
cmp ecx, 0x1000
jb 0x100d3877
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d276a
push ecx
push edx
call fcn.100dbda7
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x28]
cmp ecx, 0xf
jbe 0x100d38b9
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d38af
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d276a
push ecx
push edx
call fcn.100dbda7
add esp, 8
mov edx, dword [ebp - 0x358]
cmp dword [edx], 5
jne 0x100d39fc
mov eax, dword [0x1041a174]
mov ecx, esi
call eax
test al, al
je 0x100d39fc
push 4
vpxor xmm0, xmm0, xmm0
push str.BOMB
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x2c], 0
vmovdqu xmmword [ebp - 0x3c], xmm0
mov dword [ebp - 0x28], 0
call fcn.10036650
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x388]
mov byte [ebp - 0x411], al
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0x14
mov word [ebp - 0x414], 0xff
mov byte [ebp - 0x412], 0
call fcn.10035f70
mov eax, dword [ebp - 0x414]
mov dword [ebp - 0x370], eax
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x18]
je 0x100d3974
vmovdqu xmm0, xmmword [ebp - 0x388]
vmovdqu xmmword [ecx], xmm0
vmovq xmm0, qword [ebp - 0x378]
vmovq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
mov edx, 0xf
add dword [ebp - 0x1c], 0x1c
mov byte [ebp - 0x388], 0
jmp 0x100d398a
lea eax, [ebp - 0x388]
push eax
push ecx
lea ecx, [ebp - 0x20]
call fcn.100a5d20
mov edx, dword [ebp - 0x374]
mov byte [ebp - 4], 0x14
cmp edx, 0xf
jbe 0x100d39c4
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x388]
mov eax, edx
cmp ecx, 0x1000
jb 0x100d39ba
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d276a
push ecx
push edx
call fcn.100dbda7
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x28]
cmp ecx, 0xf
jbe 0x100d39fc
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d39f2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d276a
push ecx
push edx
call fcn.100dbda7
add esp, 8
mov eax, dword [0x10421e94]
add eax, 0xffffffd0
xor eax, 0x8fb53ebb
cmp byte [eax + esi], 0
jne 0x100d4696
mov eax, dword [0x10421eb4]
add eax, 0xffffffc8
xor eax, 0x8fb53ec3
cmp dword [eax + esi], 0
jle 0x100d4696
mov esi, dword [ebp - 0x358]
cmp dword [esi], 6
jne 0x100d3b18
mov eax, dword [ebp - 0x3b0]
test eax, eax
je 0x100d3b18
cmp dword [eax + 0x10], 0
je 0x100d3b18
mov ecx, eax
call fcn.10035e60
mov esi, dword [eax]
mov ecx, dword [esi]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x10419fa4]
lea edi, [ebp - 0x350]
push edi
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x20]
call edx
mov edi, dword [ebp - 0x3c0]
test al, al
je 0x100d3a92
cmp byte [ebp - 0x214], 0
jne 0x100d3b12
vmovss xmm0, dword [esi + 0x90]
vucomiss xmm0, dword [esi + 0x7c]
lahf
test ah, 0x44
jnp 0x100d3b12
push str.FAKE
lea ecx, [ebp - 0x3c]
call fcn.10035f30
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], 0x16
mov byte [ebp - 0x415], al
lea eax, [ebp - 0x418]
push eax
lea eax, [ebp - 0x3c]
mov word [ebp - 0x418], 0xffff
push eax
mov byte [ebp - 0x416], 0xff
call fcn.100d8a00
lea eax, [ebp - 0x388]
mov byte [ebp - 4], 0x17
push eax
lea ecx, [ebp - 0x20]
call fcn.100d7f70
lea ecx, [ebp - 0x388]
call fcn.10035ee0
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 8
call fcn.10035ee0
mov esi, dword [ebp - 0x358]
cmp dword [esi], 7
jne 0x100d3e5d
mov ecx, dword [0x10421f4c]
mov eax, dword [0x10324448]
add ecx, 0xffffffa2
xor ecx, 0x8fb53ee9
mov eax, dword [ecx + eax]
mov ecx, dword [0x10419fa8]
push ecx
mov edx, dword [ecx]
mov esi, dword [edx + 0x10]
mov edx, esp
mov dword [edx], eax
call esi
mov esi, eax
mov eax, dword [0x10325e88]
cmp eax, 0x28
jne 0x100d3bd5
cmp dword [ebp - 0x428], 0x5d
jg 0x100d3d67
push str.LETHAL
lea ecx, [ebp - 0x3c]
call fcn.10035f30
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], 0x18
mov byte [ebp - 0x419], al
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x3c]
mov word [ebp - 0x41c], 0xc896
push eax
mov byte [ebp - 0x41a], 0x3c
call fcn.100d8a00
lea eax, [ebp - 0x388]
mov byte [ebp - 4], 0x19
push eax
lea ecx, [ebp - 0x20]
call fcn.100d7f70
lea ecx, [ebp - 0x388]
call fcn.10035ee0
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 8
call fcn.10035ee0
jmp 0x100d3e57
cmp eax, 9
jne 0x100d3c59
cmp dword [ebp - 0x428], 0x64
jg 0x100d3d67
push str.LETHAL
lea ecx, [ebp - 0x3c]
call fcn.10035f30
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], 0x1a
mov byte [ebp - 0x41d], al
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x3c]
mov word [ebp - 0x420], 0xc800
push eax
mov byte [ebp - 0x41e], 0
call fcn.100d8a00
lea eax, [ebp - 0x388]
mov byte [ebp - 4], 0x1b
push eax
lea ecx, [ebp - 0x20]
call fcn.100d7f70
lea ecx, [ebp - 0x388]
call fcn.10035ee0
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 8
call fcn.10035ee0
jmp 0x100d3e57
cmp eax, 0xb
je 0x100d3c63
cmp eax, 0x26
jne 0x100d3ce0
mov ecx, dword [ebp - 0x428]
cmp ecx, 0x28
jg 0x100d3ce6
push str.LETHAL
lea ecx, [ebp - 0x3c]
call fcn.10035f30
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], 0x1c
mov byte [ebp - 0x421], al
lea eax, [ebp - 0x424]
push eax
lea eax, [ebp - 0x3c]
mov word [ebp - 0x424], 0xc896
push eax
mov byte [ebp - 0x422], 0x3c
call fcn.100d8a00
lea eax, [ebp - 0x388]
mov byte [ebp - 4], 0x1d
push eax
lea ecx, [ebp - 0x20]
call fcn.100d7f70
lea ecx, [ebp - 0x388]
call fcn.10035ee0
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 8
call fcn.10035ee0
jmp 0x100d3e57
mov ecx, dword [ebp - 0x428]
cmp eax, 0xb
je 0x100d3cf0
cmp eax, 0x26
jne 0x100d3d67
cmp ecx, 0x51
jg 0x100d3d67
push str.LETHAL
lea ecx, [ebp - 0x3c]
call fcn.10035f30
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], 0x1e
mov byte [ebp - 0x429], al
lea eax, [ebp - 0x42c]
push eax
lea eax, [ebp - 0x3c]
mov word [ebp - 0x42c], 0xa1fc
push eax
mov byte [ebp - 0x42a], 3
call fcn.100d8a00
lea eax, [ebp - 0x388]
mov byte [ebp - 4], 0x1f
push eax
lea ecx, [ebp - 0x20]
call fcn.100d7f70
lea ecx, [ebp - 0x388]
call fcn.10035ee0
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 8
call fcn.10035ee0
jmp 0x100d3e57
test esi, esi
je 0x100d3e57
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
cmp dword [eax + 0xc8], 0
jne 0x100d3d9b
mov eax, dword [0x10421f68]
add eax, 0xffffff9b
xor eax, 0x8fb53ef0
cmp dword [eax + esi], 0x1f
jne 0x100d3e57
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
mov ecx, dword [0x10421eb4]
mov edx, eax
mov eax, dword [ebp - 0x394]
add ecx, 0xffffffc8
vmovdqa xmm2, xmmword [ebp - 0x480]
xor ecx, 0x8fb53ec3
vxorps xmm1, xmm1, xmm1
vcvtsi2sd xmm1, xmm1, dword [ecx + eax]
vandnpd xmm0, xmm2, xmm1
vandpd xmm2, xmm2, xmm1
vroundpd xmm1, xmm0, 0
vsubsd xmm0, xmm0, xmm1
vcmpeqsd xmm0, xmm0, qword [ebp - 0x490]
vandpd xmm0, xmm0, xmmword [ebp - 0x470]
vaddsd xmm0, xmm0, xmm1
vorpd xmm0, xmm0, xmm2
vcvttsd2si eax, xmm0
cmp dword [edx + 0xec], eax
jl 0x100d3e57
mov eax, dword [ebp - 0x368]
mov byte [ebp - 0x42d], al
lea eax, [ebp - 0x430]
push eax
push ecx
lea ecx, [ebp - 0x388]
mov word [ebp - 0x430], 0x67fc
mov byte [ebp - 0x42e], 3
call fcn.100d8a30
lea eax, [ebp - 0x388]
mov byte [ebp - 4], 0x20
push eax
lea ecx, [ebp - 0x20]
call fcn.100d7f70
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], 8
call fcn.10035ee0
mov esi, dword [ebp - 0x358]
cmp dword [esi], 8
jne 0x100d3f63
mov eax, dword [ebp - 0x3b0]
test eax, eax
je 0x100d3f63
cmp dword [eax + 0x10], 0
je 0x100d3f63
mov ecx, eax
call fcn.10035e60
mov ecx, dword [eax]
xor eax, eax
cmp dword [ecx + 0xc], 3
jg 0x100d3ee7
mov edx, dword [ecx + 0x3768]
cmp edx, 0xfffffff6
jle 0x100d3ee2
vmovss xmm0, dword [ecx + 0x38]
vsubss xmm3, xmm0, dword [ecx + 0x44]
vmovss xmm0, dword [ecx + 0x3c]
vsubss xmm1, xmm0, dword [ecx + 0x48]
vmovss xmm0, dword [ecx + 0x40]
vsubss xmm2, xmm0, dword [ecx + 0x4c]
vmulss xmm0, xmm3, xmm3
vmulss xmm1, xmm1, xmm1
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm2, xmm2
vaddss xmm0, xmm1, xmm0
vcomiss xmm0, dword [0x100f6c4c]
ja 0x100d3ee2
cmp edx, 0xffffffff
jge 0x100d3ee7
mov eax, 1
jmp 0x100d3ee7
mov eax, 2
mov edx, dword [ebp - 0x368]
mov word [ebp - 0x24], 0xffff
mov byte [ebp - 0x22], 0xff
mov byte [ebp - 0x21], dl
cmp eax, 2
jne 0x100d3f28
cmp byte [ecx + 0x3775], 0
lea edx, [ebp - 0x24]
mov eax, 0x102c2068
lea ecx, [ebp - 0x388]
cmovne eax, edx
push eax
push 0x100f677c
call fcn.100d8a70
mov byte [ebp - 4], 0x21
jmp 0x100d3f45
cmp eax, 1
jne 0x100d3f63
lea eax, [ebp - 0x24]
push eax
push 0x100f6884
lea ecx, [ebp - 0x388]
call fcn.100d8a70
mov byte [ebp - 4], 0x22
lea eax, [ebp - 0x388]
push eax
lea ecx, [ebp - 0x20]
call fcn.100d7f70
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], 8
call fcn.10035ee0
cmp dword [esi], 9
jne 0x100d42a9
cmp dword [0x1032a7f0], 0xf
mov ecx, 0x1032a7dc
mov edx, dword [0x1032a7ec]
cmova ecx, dword [0x1032a7dc]
push 5
push str.admin
call fcn.1004b9c0
add esp, 8
test al, al
je 0x100d42a9
mov eax, dword [ebp - 0x3b0]
test eax, eax
je 0x100d42a9
cmp dword [eax + 0x10], 0
je 0x100d42a9
cmp byte [0x102a8b4c], 0
je 0x100d42a9
mov ecx, eax
call fcn.10035e60
lea ecx, [ebp - 0x3c]
mov eax, dword [eax]
mov eax, dword [eax + 0x3460]
cmp eax, 6
jne 0x100d4021
push str.R:BODY
call fcn.10035f30
mov eax, dword [ebp - 0x360]
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], 0x23
mov byte [ebp - 0x3d9], al
lea eax, [ebp - 0x3dc]
push eax
lea eax, [ebp - 0x3c]
mov word [ebp - 0x3dc], 0xb9ff
push eax
mov byte [ebp - 0x3da], 0xc3
call fcn.100d8a00
mov byte [ebp - 4], 0x24
jmp 0x100d4283
cmp eax, 3
jne 0x100d406f
push str.R:STAND
call fcn.10035f30
mov eax, dword [ebp - 0x360]
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], 0x25
mov byte [ebp - 0x431], al
lea eax, [ebp - 0x434]
push eax
lea eax, [ebp - 0x3c]
mov word [ebp - 0x434], 0xb9ff
push eax
mov byte [ebp - 0x432], 0xc3
call fcn.100d8a00
mov byte [ebp - 4], 0x26
jmp 0x100d4283
cmp eax, 2
jne 0x100d40bd
push str.R:PFLICK
call fcn.10035f30
mov eax, dword [ebp - 0x360]
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], 0x27
mov byte [ebp - 0x435], al
lea eax, [ebp - 0x438]
push eax
lea eax, [ebp - 0x3c]
mov word [ebp - 0x438], 0xb9ff
push eax
mov byte [ebp - 0x436], 0xc3
call fcn.100d8a00
mov byte [ebp - 4], 0x28
jmp 0x100d4283
cmp eax, 7
jne 0x100d410b
push str.R:AIR
call fcn.10035f30
mov eax, dword [ebp - 0x360]
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], 0x29
mov byte [ebp - 0x439], al
lea eax, [ebp - 0x43c]
push eax
lea eax, [ebp - 0x3c]
mov word [ebp - 0x43c], 0xb9ff
push eax
mov byte [ebp - 0x43a], 0xc3
call fcn.100d8a00
mov byte [ebp - 4], 0x2a
jmp 0x100d4283
test eax, eax
jne 0x100d4158
push str.R:NONE
call fcn.10035f30
mov eax, dword [ebp - 0x360]
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], 0x2b
mov byte [ebp - 0x43d], al
lea eax, [ebp - 0x440]
push eax
lea eax, [ebp - 0x3c]
mov word [ebp - 0x440], 0xb9ff
push eax
mov byte [ebp - 0x43e], 0xc3
call fcn.100d8a00
mov byte [ebp - 4], 0x2c
jmp 0x100d4283
cmp eax, 1
jne 0x100d41a6
push str.R:WALK
call fcn.10035f30
mov eax, dword [ebp - 0x360]
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], 0x2d
mov byte [ebp - 0x3c9], al
lea eax, [ebp - 0x3cc]
push eax
lea eax, [ebp - 0x3c]
mov word [ebp - 0x3cc], 0xb9ff
push eax
mov byte [ebp - 0x3ca], 0xc3
call fcn.100d8a00
mov byte [ebp - 4], 0x2e
jmp 0x100d4283
cmp eax, 8
jne 0x100d41f4
push str.R:FLICK
call fcn.10035f30
mov eax, dword [ebp - 0x360]
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], 0x2f
mov byte [ebp - 0x3cd], al
lea eax, [ebp - 0x3d0]
push eax
lea eax, [ebp - 0x3c]
mov word [ebp - 0x3d0], 0xb9ff
push eax
mov byte [ebp - 0x3ce], 0xc3
call fcn.100d8a00
mov byte [ebp - 4], 0x30
jmp 0x100d4283
cmp eax, 9
jne 0x100d423f
push str.R:FAKEFLICK
call fcn.10035f30
mov eax, dword [ebp - 0x360]
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], 0x31
mov byte [ebp - 0x3d1], al
lea eax, [ebp - 0x3d4]
push eax
lea eax, [ebp - 0x3c]
mov word [ebp - 0x3d4], 0xb9ff
push eax
mov byte [ebp - 0x3d2], 0xc3
call fcn.100d8a00
mov byte [ebp - 4], 0x32
jmp 0x100d4283
push str.R:OTHER
call fcn.10035f30
mov eax, dword [ebp - 0x360]
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], 0x33
mov byte [ebp - 0x3d5], al
lea eax, [ebp - 0x3d8]
push eax
lea eax, [ebp - 0x3c]
mov word [ebp - 0x3d8], 0xb9ff
push eax
mov byte [ebp - 0x3d6], 0xc3
call fcn.100d8a00
mov byte [ebp - 4], 0x34
lea eax, [ebp - 0x388]
push eax
lea ecx, [ebp - 0x20]
call fcn.100d7f70
lea ecx, [ebp - 0x388]
call fcn.10035ee0
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 8
call fcn.10035ee0
cmp dword [esi], 0xa
jne 0x100d43be
cmp dword [0x1032a7f0], 0xf
mov ecx, 0x1032a7dc
mov edx, dword [0x1032a7ec]
cmova ecx, dword [0x1032a7dc]
push 5
push str.admin
call fcn.1004b9c0
add esp, 8
test al, al
je 0x100d43be
mov eax, dword [ebp - 0x3b0]
test eax, eax
je 0x100d43be
cmp dword [eax + 0x10], 0
je 0x100d43be
mov edx, dword [0x102c27a4]
lea ecx, [ebp - 0x384]
call fcn.1004cc40
push 0x100f6890
mov edx, eax
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x5c]
call fcn.10052b70
add esp, 4
lea ecx, [ebp - 0x384]
mov byte [ebp - 4], 0x37
call fcn.10035ee0
lea ecx, [ebp - 0x5c]
call fcn.10036370
push eax
lea ecx, [ebp - 0x3c]
call fcn.10035f30
mov eax, dword [ebp - 0x360]
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], 0x38
mov byte [ebp - 0x3fd], al
lea eax, [ebp - 0x400]
push eax
lea eax, [ebp - 0x3c]
mov word [ebp - 0x400], 0xb9ff
push eax
mov byte [ebp - 0x3fe], 0xc3
call fcn.100d8a00
lea eax, [ebp - 0x388]
mov byte [ebp - 4], 0x39
push eax
lea ecx, [ebp - 0x20]
call fcn.100d7f70
lea ecx, [ebp - 0x388]
call fcn.10035ee0
lea ecx, [ebp - 0x3c]
call fcn.10035ee0
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 8
call fcn.10035ee0
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x390], eax
mov eax, dword [ebp - 0x3ac]
mov dword [ebp - 0x38c], eax
cmp dword [esi], 0xb
jne 0x100d4556
mov esi, dword [0x1032a7fc]
test esi, esi
je 0x100d4550
mov eax, dword [edi]
mov ecx, edi
mov esi, dword [esi]
mov eax, dword [eax + 0x28]
call eax
push eax
mov ecx, esi
call fcn.10057640
vmovdqa xmm2, xmmword [ebp - 0x480]
vxorps xmm1, xmm1, xmm1
vcvtsi2sd xmm1, xmm1, eax
vandnpd xmm0, xmm2, xmm1
vandpd xmm2, xmm2, xmm1
vroundpd xmm1, xmm0, 0
vsubsd xmm0, xmm0, xmm1
vcmpeqsd xmm0, xmm0, qword [ebp - 0x490]
vandpd xmm0, xmm0, xmmword [ebp - 0x470]
vaddsd xmm0, xmm0, xmm1
vorpd xmm0, xmm0, xmm2
vcvttsd2si eax, xmm0
mov dword [ebp - 0x44], eax
cmp eax, 0x96
jg 0x100d4441
mov ecx, 0x9d
lea edx, [ecx + 0x3e]
lea eax, [ecx - 0x43]
jmp 0x100d44e5
vxorps xmm0, xmm0, xmm0
cmp eax, 0x15e
jg 0x100d44a0
add eax, 0xffffff6a
mov ecx, 0x9d
vcvtsi2ss xmm0, xmm0, eax
vdivss xmm1, xmm0, dword [0x100f6bf4]
vmulss xmm0, xmm1, dword [0x100f6cac]
vcvttss2si eax, xmm0
vmulss xmm0, xmm1, dword [0x100f6b9c]
sub ecx, eax
mov edx, 0xdb
vcvttss2si eax, xmm0
vmulss xmm0, xmm1, dword [0x100f6b5c]
sub edx, eax
mov esi, 0x5a
vcvttss2si eax, xmm0
sub esi, eax
mov dword [ebp - 0x35c], esi
mov eax, esi
jmp 0x100d44e5
add eax, 0xfffffea2
mov edx, 0x97
vcvtsi2ss xmm0, xmm0, eax
vdivss xmm1, xmm0, dword [0x100f6c08]
vmulss xmm0, xmm1, dword [0x100f6974]
vcvttss2si ecx, xmm0
vmulss xmm0, xmm1, dword [0x100f6bbc]
lea eax, [ecx + 0xf2]
mov dword [ebp - 0x35c], eax
vcvttss2si eax, xmm0
sub edx, eax
lea eax, [ecx + 0x33]
mov ecx, dword [ebp - 0x35c]
mov byte [ebp - 0x3de], al
mov eax, dword [ebp - 0x360]
mov byte [ebp - 0x3dd], al
lea eax, [ebp - 0x44]
mov byte [ebp - 0x3e0], cl
lea ecx, [ebp - 0x384]
mov byte [ebp - 0x3df], dl
mov edx, str._iMS
push eax
call fcn.100a9f80
add esp, 4
lea ecx, [ebp - 0x3e0]
push ecx
push eax
lea ecx, [ebp - 0x40]
call fcn.100d8ad0
mov eax, ecx
mov byte [ebp - 4], 0x3b
push eax
lea ecx, [ebp - 0x20]
call fcn.100d7f70
lea ecx, [ebp - 0x40]
call fcn.10035ee0
lea ecx, [ebp - 0x384]
mov byte [ebp - 4], 8
call fcn.10035ee0
mov esi, dword [ebp - 0x358]
cmp dword [esi], 0xc
mov eax, dword [ebp - 0x3b0]
jne 0x100d45f2
test eax, eax
je 0x100d45f2
cmp dword [eax + 0x5084], 1
jl 0x100d45f2
cmp dword [eax + 0x18a8], 1
jl 0x100d45f2
push str.DISTORTION
lea ecx, [ebp - 0x3c]
call fcn.10035f30
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], 0x3c
mov byte [ebp - 0x3e1], al
lea eax, [ebp - 0x3e4]
push eax
lea eax, [ebp - 0x3c]
mov word [ebp - 0x3e4], 0xffff
push eax
mov byte [ebp - 0x3e2], 0xff
call fcn.100d8a00
lea eax, [ebp - 0x388]
mov byte [ebp - 4], 0x3d
push eax
lea ecx, [ebp - 0x20]
call fcn.100d7f70
lea ecx, [ebp - 0x388]
call fcn.10035ee0
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 8
call fcn.10035ee0
mov eax, dword [ebp - 0x3b0]
cmp dword [esi], 0xd
jne 0x100d4696
test eax, eax
je 0x100d478a
cmp dword [eax + 0x10], 0
jbe 0x100d46a3
cmp byte [eax + 0x18b6], 0
je 0x100d46a3
push 0x100f691c
lea ecx, [ebp - 0x3c]
call fcn.10035f30
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], 0x3e
mov byte [ebp - 0x3e5], al
lea eax, [ebp - 0x3e8]
push eax
lea eax, [ebp - 0x3c]
mov word [ebp - 0x3e8], 0xffff
push eax
mov byte [ebp - 0x3e6], 0xff
call fcn.100d8a00
lea eax, [ebp - 0x388]
mov byte [ebp - 4], 0x3f
push eax
lea ecx, [ebp - 0x20]
call fcn.100d7f70
lea ecx, [ebp - 0x388]
call fcn.10035ee0
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 8
call fcn.10035ee0
jmp 0x100d46a3
cmp byte [ebp - 0x351], 0
je 0x100d478a
cmp dword [ebp - 0x3b0], 0
je 0x100d478a
mov eax, dword [0x10421e94]
mov ecx, dword [ebp - 0x394]
add eax, 0xffffffd0
xor eax, 0x8fb53ebb
cmp byte [eax + ecx], 0
jne 0x100d478a
mov eax, dword [0x10421eb4]
add eax, 0xffffffc8
xor eax, 0x8fb53ec3
cmp dword [eax + ecx], 0
jle 0x100d478a
cmp byte [ebp - 0x361], 0
jne 0x100d478a
mov eax, dword [0x102a78d0]
test eax, eax
je 0x100d478a
cmp byte [eax + 0x50a4], 0
je 0x100d478a
cmp ecx, dword [eax + 0x1824]
jne 0x100d478a
mov eax, dword [ebp - 0x368]
mov byte [ebp - 0x3e9], al
lea eax, [ebp - 0x3ec]
push eax
push ecx
lea ecx, [ebp - 0x388]
mov word [ebp - 0x3ec], 0xc896
mov byte [ebp - 0x3ea], 0x3c
call fcn.100d8b20
lea eax, [ebp - 0x388]
mov byte [ebp - 4], 0x40
push eax
lea ecx, [ebp - 0x20]
call fcn.100d7f70
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x374]
cmp ecx, 0xf
jbe 0x100d478a
mov edx, dword [ebp - 0x388]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d4780
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d51e9
push ecx
push edx
call fcn.100dbda7
add esp, 8
mov ecx, dword [ebp - 0x1c]
mov eax, 0x92492493
sub ecx, dword [ebp - 0x20]
xor esi, esi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100d4813
mov edx, dword [ebp - 0x39c]
add edx, 2
add edx, dword [ebp - 0x3a4]
xor edi, edi
mov dword [ebp - 0x35c], edx
nop
mov eax, dword [0x1041f044]
mov ecx, dword [ebp - 0x20]
dec eax
add ecx, edi
imul eax, esi
push 0
push ecx
push dword [ecx + 0x18]
add eax, dword [ebp - 0x3a0]
mov ecx, 0x1041f03c
push eax
push edx
call fcn.100c7720
mov ecx, dword [ebp - 0x1c]
mov eax, 0x92492493
sub ecx, dword [ebp - 0x20]
inc esi
imul ecx
add edi, 0x1c
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x35c]
cmp esi, eax
jb 0x100d47c0
mov edi, dword [ebp - 0x3c0]
cmp byte [ebp - 0x351], 0
mov dword [ebp - 0x3bc], 0
je 0x100d513c
cmp byte [0x102ace80], 0
je 0x100d4a29
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x50d8
lea esi, [eax + 0x100fe1dc]
test esi, esi
je 0x100d4a29
cmp dword [esi + 0x10], 0
je 0x100d4a29
mov eax, dword [esi + 0xc]
mov edx, eax
mov ecx, dword [esi + 8]
and edx, 1
shr eax, 1
dec ecx
and ecx, eax
mov eax, dword [esi + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + edx*8]
mov dword [ebp - 0x408], ecx
test ecx, ecx
je 0x100d4a29
vmovss xmm0, dword [esi + 0x5060]
vsubss xmm0, xmm0, dword [ecx + 0x346c]
vmovss xmm2, dword [ebp - 0x460]
vxorps xmm1, xmm1, xmm1
vcomiss xmm1, xmm0
lea edx, [ebp - 0x3a8]
vmovss dword [ebp - 0x3a8], xmm0
lea eax, [ebp - 0x35c]
cmovbe eax, edx
lea esi, [ebp - 0x3c8]
vcomiss xmm0, xmm2
vmovss xmm0, dword [ecx + 0x50]
vmovss dword [ebp - 0x3c8], xmm2
vmovss xmm2, dword [ecx + 0x54]
vmovss dword [ebp - 0x35c], xmm1
vmulss xmm1, xmm0, xmm0
vmulss xmm0, xmm2, xmm2
vaddss xmm0, xmm1, xmm0
cmovbe esi, eax
call fcn.10030610
vcvtss2sd xmm0, xmm0, xmm0
vcomisd xmm0, qword [0x100f6a70]
jbe 0x100d491f
mov eax, dword [ebp - 0x408]
cmp byte [eax + 0x3750], 0
jne 0x100d491f
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, dword [ebp - 0x39c]
jmp 0x100d492f
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, dword [ebp - 0x39c]
vmulss xmm0, xmm0, dword [esi]
vdivss xmm0, xmm0, dword [0x100f6a60]
vcomiss xmm0, dword [0x100f6974]
vmovss dword [ebp - 0x3b8], xmm0
jbe 0x100d4a29
mov eax, dword [ebp - 0x360]
mov ecx, dword [0x10419fb0]
mov esi, dword [ebp - 0x398]
mov byte [ebp - 0x3ed], al
mov eax, dword [ebp - 0x3a0]
add eax, 2
mov word [ebp - 0x3f0], 0xa0a
add esi, eax
mov byte [ebp - 0x3ee], 0xa
mov eax, dword [ecx]
push dword [ebp - 0x3f0]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10419fb0]
mov edi, dword [ebp - 0x3a4]
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
lea eax, [esi + 3]
push eax
mov eax, dword [ebp - 0x39c]
add eax, edi
push eax
push esi
push edi
call edx
mov eax, dword [0x102acf28]
lea esi, [edi + 1]
mov ecx, dword [0x10419fb0]
mov dword [ebp - 0x36c], eax
mov eax, dword [ebp - 0x3c4]
mov byte [ebp - 0x369], al
mov eax, dword [ecx]
push dword [ebp - 0x36c]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10419fb0]
mov edi, dword [ebp - 0x398]
add edi, 4
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0x3a0]
add eax, edi
mov edi, dword [ebp - 0x3a0]
push eax
vcvttss2si eax, dword [ebp - 0x3b8]
add eax, esi
add edi, 3
push eax
mov eax, dword [ebp - 0x398]
add eax, edi
push eax
push esi
call edx
mov edi, dword [ebp - 0x3c0]
mov dword [ebp - 0x3bc], 5
cmp byte [0x102aca74], 0
jne 0x100d4a3f
cmp byte [0x102acb00], 0
je 0x100d513c
mov eax, dword [0x10421f4c]
mov ecx, dword [ebp - 0x394]
add eax, 0xffffffa2
xor eax, 0x8fb53ee9
mov eax, dword [eax + ecx]
mov ecx, dword [0x10419fa8]
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 - 0x35c], esi
test esi, esi
je 0x100d513c
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
test eax, eax
je 0x100d513c
mov ecx, dword [eax + 0x14]
mov eax, dword [0x10421f6c]
mov edx, dword [ebp - 0x394]
add eax, 0xffffff9a
xor eax, 0x8fb53ef1
mov dword [ebp - 0x3c8], ecx
mov ecx, dword [eax + esi]
mov eax, dword [0x1041a1d0]
mov dword [ebp - 0x408], ecx
mov ecx, dword [eax + edx]
mov dword [ebp - 0x36c], ecx
vmovss xmm0, dword [ecx + 0x58]
vucomiss xmm0, dword [0x100f6974]
lahf
test ah, 0x44
jnp 0x100d4b23
mov eax, dword [ecx + 0x50]
mov ecx, dword [0x1041a164]
mov dword [ebp - 0x3b8], ecx
mov ecx, dword [0x1041a1f0]
mov dword [ebp - 0x3a8], eax
cmp dword [edx + ecx], 0
jne 0x100d4b07
mov eax, dword [0x1041a140]
mov ecx, edx
call eax
mov ecx, dword [0x1041a1f0]
mov eax, dword [ebp - 0x3a8]
mov edx, eax
mov eax, dword [ebp - 0x394]
mov ecx, dword [eax + ecx]
call dword [ebp - 0x3b8]
cmp eax, 0x3c7
jne 0x100d4b23
mov al, 1
jmp 0x100d4b25
xor al, al
mov ecx, dword [ebp - 0x3c8]
mov byte [ebp - 0x352], al
cmp ecx, 0xffffffff
je 0x100d4dc2
cmp byte [0x102accd8], 0
je 0x100d4dc2
test al, al
je 0x100d4b58
mov eax, dword [ebp - 0x36c]
vmovss xmm1, dword [eax + 0x64]
jmp 0x100d4b70
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, dword [ebp - 0x408]
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, ecx
vdivss xmm1, xmm1, xmm0
mov eax, dword [ebp - 0x39c]
vmovdqa xmm2, xmmword [ebp - 0x4d0]
mov ecx, dword [0x10419fb0]
add eax, 0xfffffffe
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
mov eax, dword [ebp - 0x360]
vmulss xmm1, xmm0, xmm1
mov byte [ebp - 0x3b1], al
mov eax, dword [ebp - 0x3bc]
add eax, dword [ebp - 0x3a0]
add eax, dword [ebp - 0x398]
vandnps xmm0, xmm2, xmm1
vandps xmm2, xmm2, xmm1
vroundps xmm1, xmm0, 0
vsubss xmm0, xmm0, xmm1
vcmpeqss xmm0, xmm0, dword [ebp - 0x4b0]
vandps xmm0, xmm0, xmmword [ebp - 0x4c0]
mov dword [ebp - 0x36c], eax
lea esi, [eax + 2]
mov eax, dword [ecx]
vaddss xmm0, xmm0, xmm1
vorps xmm0, xmm0, xmm2
mov word [ebp - 0x3b4], 0xa0a
mov eax, dword [eax + 0x38]
mov byte [ebp - 0x3b2], 0xa
push dword [ebp - 0x3b4]
vcvttss2si edi, xmm0
mov dword [ebp - 0x3a8], edi
call eax
mov ecx, dword [0x10419fb0]
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
lea eax, [esi + 3]
push eax
mov eax, dword [ebp - 0x3a4]
add eax, dword [ebp - 0x39c]
push eax
push esi
mov esi, dword [ebp - 0x3a4]
push esi
call edx
mov eax, dword [0x102ace0c]
inc esi
mov ecx, dword [0x10419fb0]
mov dword [ebp - 0x3b8], eax
mov eax, dword [ebp - 0x3c4]
mov byte [ebp - 0x3b5], al
mov eax, dword [ecx]
push dword [ebp - 0x3b8]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10419fb0]
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0x36c]
add eax, 4
push eax
mov eax, edi
add eax, esi
push eax
mov eax, dword [ebp - 0x36c]
add eax, 3
push eax
push esi
call edx
mov esi, dword [ebp - 0x408]
lea ecx, [ebp - 0x5c]
mov edx, esi
call fcn.1004cc40
vmovdqa xmm2, xmmword [ebp - 0x480]
mov eax, 0x66666667
mov byte [ebp - 4], 0x41
imul dword [ebp - 0x3c8]
vxorps xmm1, xmm1, xmm1
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
vcvtsi2sd xmm1, xmm1, eax
mov edi, dword [ebp - 0x3c0]
vandnpd xmm0, xmm2, xmm1
vandpd xmm2, xmm2, xmm1
vroundpd xmm1, xmm0, 0
vsubsd xmm0, xmm0, xmm1
vcmpeqsd xmm0, xmm0, qword [ebp - 0x490]
vandpd xmm0, xmm0, xmmword [ebp - 0x470]
vaddsd xmm0, xmm0, xmm1
vorpd xmm0, xmm0, xmm2
vcvttsd2si eax, xmm0
cmp esi, eax
jg 0x100d4d7d
cmp byte [ebp - 0x352], 0
jne 0x100d4d7d
mov edx, esi
lea ecx, [ebp - 0x3c]
call fcn.1004cc40
mov edx, dword [ebp - 0x360]
push 2
push eax
push ecx
mov eax, esp
mov byte [ebp - 4], 0x42
push dword [ebp - 0x36c]
mov ecx, 0x1041f03c
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov byte [eax + 3], dl
mov eax, dword [ebp - 0x3a8]
add eax, dword [ebp - 0x3a4]
push eax
call fcn.100c7720
mov byte [ebp - 4], 0x41
mov ecx, dword [ebp - 0x28]
cmp ecx, 0xf
jbe 0x100d4d7d
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d4d73
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d276a
push ecx
push edx
call fcn.100dbda7
add esp, 8
add dword [ebp - 0x3bc], 6
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x48]
cmp ecx, 0xf
jbe 0x100d4dbc
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d4db2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d51e9
push ecx
push edx
call fcn.100dbda7
add esp, 8
mov esi, dword [ebp - 0x35c]
cmp byte [0x102acb00], 0
je 0x100d5053
mov eax, dword [0x1041a18c]
mov ecx, esi
call eax
mov ecx, eax
test ecx, ecx
jne 0x100d4e1e
push 5
vpxor xmm0, xmm0, xmm0
push str.error
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x68], 0
vmovdqu xmmword [ebp - 0x78], xmm0
mov dword [ebp - 0x64], 0
call fcn.10036650
mov eax, dword [ebp - 0x38c]
or eax, 4
mov dword [ebp - 0x38c], eax
mov dword [ebp - 0x3ac], eax
jmp 0x100d4f90
mov eax, dword [0x1041a190]
call eax
mov ecx, eax
test ecx, ecx
je 0x100d4dde
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [0x10419ff4]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x30]
call edx
mov edx, eax
mov dword [ebp - 0x4c], 0
mov ecx, edx
mov dword [ebp - 0x48], 0
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ebp - 0x5c], xmm0
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100d4e60
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x5c]
call fcn.1004ae10
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ebp - 0x3c], xmm0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
mov byte [ebp - 4], 0x44
mov edx, dword [ebp - 0x4c]
test edx, edx
jne 0x100d4eb6
vmovdqu xmmword [ebp - 0x78], xmm0
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], dl
jmp 0x100d4f70
cmp dword [ebp - 0x48], 7
lea eax, [ebp - 0x5c]
mov ecx, dword [0x102c2788]
cmova eax, dword [ebp - 0x5c]
push 0
push 0
push 0
push 0
push edx
push eax
push 0
push 0xfde9
call ecx
mov esi, eax
lea ecx, [ebp - 0x384]
push 0
push esi
call fcn.100517f0
push eax
lea ecx, [ebp - 0x3c]
call fcn.10051770
mov ecx, dword [ebp - 0x370]
cmp ecx, 0xf
jbe 0x100d4f2d
mov edx, dword [ebp - 0x384]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d4f23
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d276a
push ecx
push edx
call fcn.100dbda7
add esp, 8
cmp dword [ebp - 0x28], 0xf
lea ecx, [ebp - 0x3c]
mov edx, dword [0x102c2788]
lea eax, [ebp - 0x5c]
cmova ecx, dword [ebp - 0x3c]
cmp dword [ebp - 0x48], 7
push 0
cmova eax, dword [ebp - 0x5c]
push 0
push esi
push ecx
push dword [ebp - 0x4c]
push eax
push 0
push 0xfde9
call edx
vmovdqu xmm0, xmmword [ebp - 0x3c]
vmovdqu xmmword [ebp - 0x78], xmm0
vmovq xmm0, qword [ebp - 0x2c]
vmovq qword [ebp - 0x68], xmm0
mov eax, dword [ebp - 0x38c]
lea ecx, [ebp - 0x5c]
or eax, 8
or eax, 4
mov dword [ebp - 0x38c], eax
mov dword [ebp - 0x3ac], eax
call fcn.1004a6d0
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x78]
cmp dword [ebp - 0x64], 0xf
lea eax, [ebp - 0x78]
mov edx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x68]
cmova ecx, edx
mov dword [ebp - 0x36c], ecx
lea ecx, [ebp - 0x78]
cmova ecx, edx
add esi, ecx
cmp dword [ebp - 0x64], 0xf
cmova eax, edx
cmp eax, esi
je 0x100d4ff1
mov edi, eax
sub dword [ebp - 0x36c], 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 - 0x36c]
add esp, 4
mov byte [ecx + edi], al
inc edi
cmp edi, esi
jne 0x100d4fd0
mov edi, dword [ebp - 0x3c0]
push 2
lea eax, [ebp - 0x78]
push eax
push ecx
mov ecx, dword [ebp - 0x360]
mov eax, esp
mov byte [eax + 3], cl
mov ecx, 0x1041f03c
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x3bc]
add eax, dword [ebp - 0x3a0]
add eax, dword [ebp - 0x398]
push eax
mov eax, dword [ebp - 0x39c]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x3a4]
push eax
call fcn.100c7720
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x64]
cmp ecx, 0xf
jbe 0x100d513c
mov edx, dword [ebp - 0x78]
jmp 0x100d5113
cmp byte [0x102aca74], 0
je 0x100d513c
mov eax, dword [0x10421f68]
mov ecx, 0x10421dc4
add eax, 0xffffff9b
xor eax, 0x8fb53ef0
add eax, esi
push eax
lea eax, [ebp - 0x498]
push eax
call fcn.100d8bd0
lea ecx, [ebp - 0x3c]
mov eax, dword [eax]
add eax, 0xc
push eax
call fcn.100d88d0
add esp, 4
push 2
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 0x46
push eax
push ecx
mov ecx, dword [ebp - 0x360]
mov eax, esp
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x3a0]
add ecx, 0xfffffffb
cmp byte [ebp - 0x361], 0
je 0x100d50c5
mov word [eax], 0x8282
mov byte [eax + 2], 0x82
jmp 0x100d50ce
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x3bc]
add eax, ecx
mov ecx, dword [ebp - 0x444]
add eax, dword [ebp - 0x398]
add ecx, 2
add eax, ecx
mov ecx, 0x1041f0d8
push eax
mov eax, dword [ebp - 0x39c]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x3a4]
push eax
call fcn.100c7720
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x28]
cmp ecx, 0xf
jbe 0x100d513c
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d5132
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d276a
push ecx
push edx
call fcn.100dbda7
add esp, 8
mov eax, dword [ebp - 0x358]
add eax, 4
mov dword [ebp - 0x358], eax
cmp eax, dword [ebp - 0x390]
jne 0x100d3142
mov esi, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x84]
jmp 0x100d5168
mov edi, dword [ebp - 0x358]
test edi, edi
je 0x100d5195
sub esi, edi
mov eax, edi
and esi, 0xfffffffc
cmp esi, 0x1000
jb 0x100d518b
mov edi, dword [eax - 4]
add esi, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d51e9
push esi
push edi
call fcn.100dbda7
add esp, 8
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x100d51f9
mov edx, dword [ebp - 0x1c]
push ecx
call fcn.100a5b10
mov ecx, dword [ebp - 0x18]
mov eax, 0x92492493
mov esi, dword [ebp - 0x20]
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 0x100d51ef
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100d51ef
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.100dbda7
add esp, 8
mov ecx, dword [ebp - 0x88]
cmp ecx, 0xf
jbe 0x100d5235
mov edx, dword [ebp - 0x9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d522b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100d522b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100dbda7
add esp, 8
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.100db879
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4