Function at 0x10009400
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x458
push esi
push edi
mov eax, dword [0x100110a4]
mov dword [esp + 0x20], eax
movsx eax, word [0x10011068]
mov byte [esp + 0x13], 0xd8
mov dword [esp + 0x3c], eax
mov eax, 0xffffd082
mov word [esp + 0x14], ax
mov dword [esp + 0x54], 0x48fc69ed
mov ecx, dword [0x10011040]
mov eax, dword [0x10011044]
mov dword [esp + 0x70], ecx
movzx eax, word [0x10011058]
mov byte [esp + 0x11], al
mov eax, dword [0x10011098]
mov dword [esp + 0x28], eax
mov eax, dword [0x1001109c]
mov eax, dword [0x100110a4]
mov dword [esp + 0x58], eax
mov dword [esp + 0x30], 0x5887
mov byte [esp + 0x18], 0xe9
mov dword [esp + 0x60], 0xed
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0xcb168743
mov dword [esp + 0x6c], 0x45b47
mov dword [esp + 0x40], 0x5726c4bd
mov dword [esp + 0x44], 0
mov byte [esp + 0x12], 0x48
mov eax, dword [0x100110e4]
movzx eax, ax
mov dword [esp + 0x50], eax
mov al, byte [0x1001100f]
mov byte [esp + 0x1e], al
mov dword [esp + 0x20], 0xa539b9e2
mov byte [esp + 0x1f], 0xd5
mov al, byte [0x10011014]
movsx eax, word [0x10011028]
cdq
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], 0x3f1d
mov dword [esp + 0x24], 0
movsx eax, byte [0x10011014]
cdq
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov eax, dword [0x100110e8]
mov ecx, dword [0x100110ec]
movzx eax, byte [0x1001100f]
mov dword [esp + 0x20], eax
movzx eax, word [0x10011068]
mov byte [esp + 0x1f], 0x1d
mov word [esp + 0x38], ax
mov eax, dword [0x1005458c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x7c], 0xffffb558
mov dword [esp + 0x34], 0x166
mov dword [esp + 0x4c], 0x3d9bb76d
mov dword [esp + 0x5c], 0x7f06d
mov dword [esp + 0x8c], 0xc9
mov edi, 0xc9
test eax, eax
je 0x1000957a
mov al, byte [esp + 0x1e]
and al, 0x9f
mov byte [esp + 0x13], al
jmp 0x10009637
cmp dword [0x100110ac], 0
je 0x100095a8
movzx eax, byte [esp + 0x13]
mov ecx, 0x5cb1
sub ax, cx
mov dword [esp + 0x40], 0x7c66abe1
movzx eax, ax
mov dword [esp + 0x44], 0
jmp 0x10009633
cmp dword [0x10011038], 0
jne 0x10009637
mov ecx, dword [esp + 0x30]
neg ecx
mov dword [0x10011064], 0
sbb ecx, ecx
inc ecx
sub eax, ecx
cmp byte [esp + 0x11], 0
mov dword [0x10011060], eax
jne 0x100095df
mov esi, 1
xor edx, edx
jmp 0x100095f0
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov eax, dword [0x10011030]
mov ecx, dword [0x10011034]
not eax
not ecx
cmp eax, esi
jne 0x1000960e
cmp ecx, edx
jne 0x1000960e
mov ecx, 1
jmp 0x10009610
xor ecx, ecx
mov eax, dword [esp + 0x28]
cbw
not ax
sub ax, cx
sub ax, word [0x1001108c]
sub ax, di
movzx ecx, ax
mov eax, dword [0x100110e0]
sub ecx, eax
movzx eax, cx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x2c]
add eax, 0x78f
mov dword [esp + 0xe0], eax
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
mov word [0x10011058], cx
mov eax, dword [esp + 0x2c]
add eax, 0x60b
mov dword [esp + 0x9c], eax
call fcn.10001950
mov esi, eax
cdq
mov dword [0x100110b8], eax
mov eax, 0x2c
cmp eax, esi
mov dword [0x100110bc], edx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp eax, esi
sbb eax, eax
neg eax
cmp eax, ecx
jae 0x1000969e
mov al, byte [esp + 0x18]
mov dword [0x10011080], 0xe2cd
mov eax, dword [esp + 0x2c]
add eax, 0x5e2
mov dword [esp + 0xa4], eax
mov ecx, dword [0x100110c8]
mov eax, dword [0x100110cc]
or ecx, eax
jne 0x100096c4
mov ecx, 1
jmp 0x100096c6
xor ecx, ecx
movsx eax, word [0x10011090]
sub eax, ecx
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [esp + 0x13]
cdq
xor eax, ecx
mov edi, edx
mov ecx, dword [esp + 0x60]
xor edi, esi
mov edx, dword [esp + 0x64]
xor ecx, eax
mov eax, dword [0x1005458c]
xor edx, edi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
movups xmm0, xmmword [str.._AV_lambda_ad0bda]
add eax, 0x748
mov dword [esp + 0x20], eax
movzx eax, word [0x10010154]
mov word [esp + 0x1e0], ax
mov al, byte [0x10010156]
mov byte [esp + 0x1e2], al
lea eax, [esp + 0x1d0]
push eax
movups xmmword [esp + 0x1d4], xmm0
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov si, word [esp + 0x50]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x2c]
add eax, 0x7b1
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x2c]
add eax, 0x8b9
mov dword [esp + 0x20], eax
movzx eax, byte [0x1001100e]
cmp ax, si
jbe 0x10009794
mov edx, dword [esp + 0x50]
mov ecx, dword [0x100110e8]
add edx, edx
mov eax, dword [0x100110ec]
add dx, cx
movzx eax, dx
mov dword [esp + 0x50], eax
mov si, ax
jmp 0x100097eb
mov eax, dword [0x10011050]
or eax, dword [0x10011054]
jne 0x100097a6
lea edx, [eax + 1]
jmp 0x100097a8
xor edx, edx
movsx eax, word [0x1001103c]
xor ecx, ecx
cmp eax, edx
mov eax, dword [0x100110b0]
movsx edx, byte [0x1001100a]
not eax
setg cl
mov dword [esp + 0x88], ecx
xor ecx, ecx
cmp eax, edx
sete cl
cmp dword [esp + 0x88], ecx
jne 0x100097eb
mov dword [esp + 0x4c], 0x496ecd5b
mov dword [esp + 0x5c], 0x9cd3e
mov eax, dword [0x1005458c]
sub esp, 0x30
mov dword [esp + 0x5c], eax
mov ax, word [esp + 0x44]
call fcn.10001410
mov dx, word [esp + 0xac]
xor ecx, ecx
mov dword [esp + 0x88], eax
add esp, 0x30
movsx eax, byte [esp + 0x11]
cmp ax, dx
mov word [esp + 0x38], dx
mov eax, dword [esp + 0x54]
setge cl
sub eax, ecx
jne 0x10009834
mov byte [0x10011016], 0xb1
mov eax, dword [esp + 0x2c]
add eax, 0x528
mov dword [esp + 0x188], eax
mov al, byte [esp + 0x11]
add al, 0xc
mov byte [esp + 0x13], al
mov eax, dword [esp + 0x2c]
add eax, 0x88f
mov dword [esp + 0x18c], eax
movsx ecx, byte [esp + 0x11]
movzx eax, si
cmp eax, ecx
jne 0x10009907
sub esp, 0x18
call fcn.10001bc0
mov word [0x10011088], ax
add esp, 0x18
mov ecx, dword [0x100110d8]
mov eax, dword [0x100110dc]
not ecx
not eax
test eax, eax
jl 0x100098ab
jg 0x1000989c
cmp ecx, dword [0x10011010]
jbe 0x100098ab
cmp word [esp + 0x14], 0
je 0x100098ab
mov esi, 1
jmp 0x100098ad
xor esi, esi
mov ax, word [esp + 0x14]
xor edx, edx
mov ecx, dword [esp + 0x70]
xor eax, eax
cmp dword [esp + 0x3c], 0x32
sete al
cmp edx, eax
sbb eax, eax
neg eax
add eax, esi
je 0x100098e5
mov eax, dword [esp + 0x58]
add eax, 0x80e3
mov dword [0x100110d8], eax
mov dword [0x100110dc], edx
jmp 0x10009975
mov eax, dword [0x10011038]
movsx ecx, byte [0x10011014]
neg eax
xor ecx, eax
mov eax, dword [0x100110a4]
xor al, cl
mov byte [esp + 0x18], al
mov eax, dword [0x10011080]
jmp 0x10009975
cmp dword [0x100110a4], 0
je 0x10009948
mov ecx, dword [esp + 0x60]
movsx eax, word [0x10155ee8]
mov esi, dword [esp + 0x64]
cdq
sub ecx, eax
mov dword [esp + 0x60], ecx
sbb esi, edx
mov dword [esp + 0x64], esi
mov eax, dword [0x10011098]
mov ecx, dword [0x1001109c]
shld ecx, eax, 4
shl eax, 4
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x4c], eax
jmp 0x10009975
cmp word [0x10011068], 0
je 0x10009975
movsx eax, byte [esp + 0x1e]
mov ecx, 0xb825f518
sub ecx, eax
mov eax, dword [esp + 0x70]
add eax, ecx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x54]
sub eax, 0x5c1cfd84
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x2c]
movzx edi, word [0x10011008]
add eax, 0x5db
mov dword [esp + 0x170], eax
mov eax, dword [0x1005458c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
add eax, 0x815
mov dword [esp + 0x78], edi
mov dword [esp + 0x184], eax
mov eax, dword [0x10011030]
or eax, dword [0x10011034]
jne 0x100099ba
mov dl, 1
jmp 0x100099bc
xor dl, dl
mov al, byte [esp + 0x18]
mov cl, byte [0x100110a8]
sub cl, al
mov al, byte [esp + 0x11]
xor cl, dl
add cl, byte [0x10011078]
sub cl, al
mov eax, dword [0x10011038]
sub cl, al
movzx eax, word [0x1001102c]
add al, cl
mov byte [esp + 0x13], al
movzx eax, word [0x100110ac]
mov word [0x10011068], ax
mov eax, dword [esp + 0x2c]
add eax, 0x641
mov dword [esp + 0x20], eax
cmp dword [esp + 0x54], 0
jne 0x10009a31
mov al, byte [esp + 0x28]
sar al, 3
mov byte [esp + 0x18], al
mov ecx, dword [0x100110a0]
mov ax, word [0x1001108c]
xor ecx, 0x635d
add ax, cx
mov word [0x1001108c], ax
mov eax, dword [esp + 0x2c]
add eax, 0x82e
mov dword [esp + 0x190], eax
mov eax, dword [0x100110a0]
xor eax, 0x49669f39
mov dword [esp + 0x58], eax
mov eax, dword [0x1005458c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
add eax, 0x835
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
call fcn.10002130
movzx eax, al
cdq
mov ecx, eax
mov dword [0x10011030], eax
or ecx, edx
mov dword [0x10011034], edx
je 0x10009b2b
cmp eax, 0x20
jne 0x10009b2b
test edx, edx
jne 0x10009b2b
mov eax, dword [0x100110e0]
mov esi, dword [0x100110c8]
mov ecx, dword [0x100110cc]
cdq
cmp edx, ecx
jb 0x10009adc
ja 0x10009abb
cmp eax, esi
jbe 0x10009adc
mov eax, dword [esp + 0x54]
cdq
mov dword [0x100110c8], eax
mov dword [0x100110cc], edx
movzx eax, byte [esp + 0x13]
add ax, 0x37
mov word [0x10011068], ax
jmp 0x10009b53
cmp word [esp + 0x78], 0
je 0x10009b04
movzx ecx, word [0x10011058]
movzx eax, word [0x10011058]
sub ecx, eax
mov eax, dword [0x100110e4]
sub ecx, eax
mov word [0x10011058], cx
jmp 0x10009b53
cmp byte [esp + 0x28], 0
mov ax, word [0x1001100c]
je 0x10009b53
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x54]
xor ecx, edx
or eax, ecx
mov dword [esp + 0x54], eax
jmp 0x10009b53
movsx eax, word [0x100110c0]
movsx ecx, word [esp + 0x14]
not eax
add ecx, eax
mov eax, dword [esp + 0x30]
add eax, ecx
mov ecx, dword [esp + 0x54]
add ecx, eax
mov eax, dword [0x100110b8]
add eax, ecx
mov dword [0x10011084], eax
mov eax, dword [esp + 0x2c]
xor esi, esi
add eax, 0x65e
mov dword [esp + 0x80], eax
mov ecx, dword [0x100110a0]
mov eax, dword [0x100110e8]
mov edx, dword [0x100110ec]
cmp ecx, eax
jne 0x10009bd7
cmp esi, edx
jne 0x10009bd7
mov ecx, dword [0x10011040]
mov eax, dword [0x10011044]
or ecx, eax
jne 0x10009be9
cmp word [0x100110a8], si
je 0x10009bb7
mov eax, dword [0x10011034]
mov ecx, dword [0x10011030]
mov dword [esp + 0x24], eax
mov word [esp + 0x14], cx
mov eax, dword [0x100110d0]
shr eax, 1
mov byte [esp + 0x18], al
jmp 0x10009be9
movsx eax, word [0x100110c0]
cdq
mov ecx, eax
mov dword [esp + 0x24], edx
mov word [esp + 0x14], cx
mov eax, dword [0x100110d0]
shr eax, 1
mov byte [esp + 0x18], al
jmp 0x10009be9
mov ecx, dword [esp + 0x70]
xor ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x70]
add eax, ecx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x2c]
add eax, 0x7a2
mov dword [esp + 0x20], eax
mov al, byte [esp + 0x13]
call fcn.10002130
movzx eax, al
cdq
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
or ecx, eax
jne 0x10009c1e
mov ecx, 1
jmp 0x10009c20
xor ecx, ecx
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp eax, 0x37
jne 0x10009c36
test edx, edx
jne 0x10009c36
lea eax, [edx + 1]
jmp 0x10009c38
xor eax, eax
cmp ecx, eax
jb 0x10009c82
mov ax, word [0x10011088]
mov eax, dword [0x100110e8]
mov ecx, dword [0x100110ec]
mov edx, dword [section..data]
mov esi, dword [0x10011004]
movzx eax, word [0x1005458c]
shld esi, edx, 1
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x68]
add edx, edx
mov ecx, dword [esp + 0x6c]
sub edx, eax
mov dword [section..data], edx
sbb esi, ecx
mov dword [0x10011004], esi
mov eax, dword [0x1005458c]
sub esp, 0x10
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
add eax, 0x5b2
mov dword [esp + 0x1a4], eax
mov eax, dword [0x100110e4]
xor eax, 0x3a
mov word [0x100110a8], ax
mov eax, dword [esp + 0x3c]
add eax, 0x626
mov dword [esp + 0x17c], eax
mov al, byte [esp + 0x23]
call fcn.10001680
movzx eax, ax
add esp, 0x10
mov si, ax
mov dword [esp + 0x50], eax
test si, si
je 0x10009d65
cmp byte [esp + 0x12], 0
jne 0x10009cf3
cmp word [0x10011068], 0
jne 0x10009cf3
mov edi, 1
jmp 0x10009cf5
xor edi, edi
mov ecx, dword [0x100110e0]
movzx eax, byte [0x10011016]
neg ecx
sbb ecx, ecx
inc ecx
cmp eax, ecx
movzx eax, si
mov esi, dword [esp + 0x34]
sbb edx, edx
xor ecx, ecx
and edx, edi
cmp eax, esi
setle cl
cmp ecx, edx
je 0x10009d39
movsx eax, word [0x10011048]
add eax, 0x3e0ee9e7
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], 0
jmp 0x10009d69
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
or ecx, eax
je 0x10009d69
movsx eax, byte [esp + 0x1e]
add eax, 0x2173189e
mov byte [esp + 0x28], 0x86
mov dword [0x10011078], eax
mov dword [0x1001107c], 0
jmp 0x10009d69
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
add eax, 0x63a
mov dword [esp + 0x180], eax
mov eax, dword [0x1005458c]
mov dword [esp + 0x2c], eax
cmp byte [esp + 0x11], 0
je 0x10009e10
movsx eax, word [0x10011048]
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
cdq
cmp edx, ecx
jl 0x10009dae
jg 0x10009da7
cmp eax, edi
jb 0x10009dae
mov edx, 1
jmp 0x10009db0
xor edx, edx
mov ax, word [0x10011048]
xor ecx, ecx
cmp ax, 0x48
setge cl
cmp edx, ecx
jne 0x10009ddd
movsx eax, byte [esp + 0x11]
imul eax, esi
cdq
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x28]
jmp 0x10009f00
mov eax, dword [esp + 0x40]
mov esi, 0x1eaa158
sub esi, dword [0x10011030]
mov edx, 0
mov ecx, dword [esp + 0x44]
sbb edx, dword [0x10011034]
add eax, esi
mov dword [esp + 0x40], eax
adc ecx, edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x44], ecx
jmp 0x10009f00
movsx eax, word [0x10011028]
cmp dword [0x100110d0], eax
jbe 0x10009e41
mov ax, word [0x100f5a28]
mov edx, dword [esp + 0x28]
mov word [0x100110c0], ax
mov al, byte [0x100110ac]
shl al, 6
mov byte [0x10011014], al
jmp 0x10009f00
movzx eax, byte [0x1001100e]
cdq
cmp eax, dword [esp + 0x4c]
jne 0x10009e6c
cmp edx, dword [esp + 0x5c]
jne 0x10009e6c
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x74], eax
jmp 0x10009e76
mov dword [esp + 0x74], 1
xor edi, edi
mov ecx, dword [0x10011040]
mov edx, dword [0x10011044]
not ecx
mov esi, dword [esp + 0x60]
not edx
mov eax, dword [esp + 0x64]
xor esi, ecx
push edi
push dword [esp + 0x78]
xor eax, edx
push eax
push esi
call fcn.1000f4d0
or eax, edx
mov edx, dword [esp + 0x28]
je 0x10009ed2
mov ecx, dword [0x10011020]
mov eax, dword [0x10011024]
movzx eax, cx
movzx ecx, word [esp + 0x14]
movsx ecx, cx
cwde
imul ecx, eax
movzx eax, cx
movzx ecx, word [esp + 0x14]
sub cx, ax
mov word [esp + 0x14], cx
jmp 0x10009f00
test dl, dl
je 0x10009f00
mov ecx, dword [0x10011020]
mov eax, dword [0x10011024]
mov eax, dword [esp + 0x3c]
add eax, 0x688c
add eax, ecx
mov cl, 0xd0
mov dword [esp + 0x3c], eax
mov ax, word [0x1001102c]
sub cl, al
add byte [0x10011016], cl
mov eax, dword [esp + 0x2c]
add eax, 0x759
mov dword [esp + 0x20], eax
movsx eax, byte [0x10011c9d]
sub dword [esp + 0x34], eax
mov eax, dword [esp + 0x2c]
add eax, 0x7e6
mov dword [esp + 0x20], eax
cmp byte [esp + 0x1e], 0
je 0x10009f33
movzx eax, byte [esp + 0x12]
jmp 0x10009f38
mov eax, dword [0x100110e4]
mov dword [esp + 0x54], eax
sub esp, 0x10
movsx ecx, byte [esp + 0x21]
movsx eax, dl
imul ecx, eax
mov eax, dword [esp + 0x80]
mov edx, dword [0x100110b0]
sub edx, eax
not edx
add edx, ecx
movsx ecx, byte [esp + 0x2e]
movzx eax, byte [esp + 0x22]
add ecx, edx
add eax, ecx
mov dword [0x10011080], eax
mov eax, dword [esp + 0x3c]
add eax, 0x865
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x68]
mov al, byte [esp + 0x2e]
mov eax, dword [0x10011040]
mov ecx, dword [0x10011044]
call fcn.10001680
mov dword [0x10011040], eax
add esp, 0x10
mov dword [0x10011044], 0
mov ecx, dword [0x10011040]
mov eax, dword [0x10011044]
or ecx, eax
jne 0x10009fc3
cmp byte [esp + 0x1e], cl
jne 0x10009fc3
xor eax, eax
jmp 0x10009fc8
mov eax, 1
cmp eax, dword [0x100110e0]
je 0x10009ff0
mov si, word [esp + 0x78]
mov di, word [esp + 0x7c]
movzx eax, si
sub al, 0x17
mov byte [esp + 0x13], al
mov eax, dword [0x100110e4]
sub byte [0x10011016], al
jmp 0x1000a04e
mov eax, dword [0x100110e4]
mov edi, 0xc13cc5a5
cdq
mov esi, 0xdb7f
sub edi, eax
mov eax, dword [0x10011040]
mov ecx, dword [0x10011044]
sbb esi, edx
add eax, edi
mov di, word [esp + 0x7c]
mov dword [0x10011040], eax
adc ecx, esi
movsx eax, di
cdq
add eax, dword [esp + 0x4c]
mov dword [0x10011044], ecx
adc edx, dword [esp + 0x5c]
or eax, edx
jne 0x1000a038
lea ecx, [eax + 1]
jmp 0x1000a03a
xor ecx, ecx
mov ax, word [0x1001102c]
mov si, word [esp + 0x78]
xor ax, cx
mov word [0x1001102c], ax
mov eax, dword [0x1005458c]
sub esp, 8
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x38]
call fcn.10001d70
cdq
add esp, 8
mov dword [0x10011098], eax
mov dword [0x1001109c], edx
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov ax, word [0x1001100c]
mov eax, dword [esp + 0x2c]
add eax, 0x6d1
mov dword [esp + 0x20], eax
movzx eax, si
cdq
add eax, 0x5758
adc edx, 0
xor dword [0x10011018], eax
mov eax, dword [esp + 0x2c]
xor ecx, ecx
xor dword [0x1001101c], edx
add eax, 0x8dd
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x2c]
add eax, 0x60f
mov dword [esp + 0xa8], eax
movzx eax, word [0x100110c0]
test ax, ax
movsx eax, word [0x1001102c]
sete cl
add eax, ecx
not eax
test eax, eax
je 0x1000a11b
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
sub edx, eax
mov dword [esp + 0x60], edx
sbb esi, ecx
mov ecx, 0xaf
mov dword [esp + 0x64], esi
movsx ax, byte [0x10011014]
add ax, cx
not ax
movzx eax, ax
mov dword [esp + 0x78], eax
mov si, ax
jmp 0x1000a133
mov ecx, dword [0x10011030]
mov eax, dword [0x10011034]
shld eax, ecx, 2
shl ecx, 2
mov byte [0x10011016], cl
mov eax, dword [0x1005458c]
mov dword [esp + 0x2c], eax
movzx eax, byte [0x1001100b]
movsx ecx, byte [0x1001100a]
xor ecx, eax
mov al, byte [0x1001100b]
sub al, cl
mov byte [0x1001100b], al
mov eax, dword [0x100110e8]
mov ecx, dword [0x100110ec]
add eax, 0xffffffff
mov dword [0x100110e8], eax
adc ecx, 0xffffffff
mov dword [0x100110ec], ecx
mov eax, dword [esp + 0x2c]
add eax, 0x534
mov dword [esp + 0x168], eax
cmp byte [esp + 0x11], 0
je 0x1000a1c9
mov ax, word [0x10010168]
movups xmm0, xmmword [str.WindowsGetStringRa]
mov word [esp + 0x200], ax
mov al, byte [0x1001016a]
mov byte [esp + 0x202], al
lea eax, [esp + 0x1f0]
push eax
movups xmmword [esp + 0x1f4], xmm0
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov word [esp + 0x14], ax
jmp 0x1000a21c
mov ecx, dword [0x100110e4]
movzx eax, si
cmp ecx, eax
jne 0x1000a1e2
mov eax, dword [0x10157b74]
mov dword [0x10011010], eax
jmp 0x1000a21c
mov ax, word [0x10011058]
xor ecx, ecx
test ax, ax
movsx eax, byte [esp + 0x1e]
setne cl
cmp eax, ecx
je 0x1000a21c
mov eax, dword [esp + 0x3c]
mov ecx, 0x75f1
add eax, 0xe0
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x28]
cbw
add ax, cx
and di, ax
mov word [esp + 0x38], di
mov eax, dword [esp + 0x2c]
add eax, 0x771
mov dword [esp + 0x20], eax
movsx eax, word [esp + 0x14]
mov esi, dword [0x10011020]
mov ecx, dword [0x10011024]
cdq
cmp ecx, edx
jg 0x1000a24c
jl 0x1000a245
cmp esi, eax
ja 0x1000a24c
mov ecx, 1
jmp 0x1000a24e
xor ecx, ecx
mov edx, dword [0x10011020]
mov eax, dword [0x10011024]
test eax, eax
jg 0x1000a26b
jl 0x1000a264
cmp edx, 0xe
ja 0x1000a26b
mov eax, 1
jmp 0x1000a26d
xor eax, eax
cmp ecx, eax
jne 0x1000a38e
movzx eax, byte [esp + 0x13]
mov edi, dword [0x1001107c]
mov esi, dword [0x10011078]
cdq
cmp edi, edx
jb 0x1000a298
ja 0x1000a291
cmp esi, eax
jbe 0x1000a298
mov ecx, 1
jmp 0x1000a29a
xor ecx, ecx
test edi, edi
jne 0x1000a2a7
cmp esi, 0xf
ja 0x1000a2a7
xor eax, eax
jmp 0x1000a2ac
mov eax, 1
cmp ecx, eax
jb 0x1000a349
mov eax, dword [esp + 0x34]
movzx ecx, byte [0x10011015]
mov word [0x100e79ca], ax
xor ecx, 0x29a3175c
xor eax, eax
add ecx, dword [section..data]
adc eax, dword [0x10011004]
or ecx, eax
jne 0x1000a2ee
mov dword [esp + 0x74], 1
mov dword [esp + 0xa0], ecx
jmp 0x1000a30a
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
mov eax, dword [esp + 0x24]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x74], eax
movzx eax, byte [0x1001100e]
mov ecx, dword [0x100110c8]
cdq
mov esi, eax
mov edi, edx
mov edx, dword [0x100110cc]
sub esi, ecx
mov eax, dword [0x100110ac]
sbb edi, edx
xor ecx, ecx
xor eax, esi
xor ecx, edi
add eax, dword [esp + 0x74]
mov dword [0x100110c8], eax
adc ecx, dword [esp + 0xa0]
mov dword [0x100110cc], ecx
jmp 0x1000a3c0
movzx eax, byte [esp + 0x12]
mov ecx, dword [0x100110e8]
cdq
mov esi, eax
mov edi, edx
mov edx, dword [0x100110ec]
sub esi, ecx
mov eax, dword [0x100110e8]
mov ecx, dword [0x100110ec]
sbb edi, edx
add eax, esi
mov dword [0x100110e8], eax
adc ecx, edi
mov dword [0x100110ec], ecx
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
add cl, 0x60
mov byte [esp + 0x13], cl
jmp 0x1000a3c0
mov eax, dword [esp + 0x54]
mov ecx, 0x738f
movzx eax, byte [0x1001100b]
xor ax, cx
movzx eax, ax
mov dword [esp + 0x50], eax
movzx eax, byte [esp + 0x12]
cdq
neg eax
mov dword [section..data], eax
adc edx, 0
neg edx
mov dword [0x10011004], edx
mov eax, dword [esp + 0x2c]
mov dx, word [esp + 0x50]
add eax, 0x88d
mov dword [esp + 0xe8], eax
mov eax, dword [0x1005458c]
mov dword [esp + 0x2c], eax
mov eax, dword [0x100110a4]
mov eax, dword [esp + 0x2c]
add eax, 0x590
mov dword [esp + 0x178], eax
mov ecx, dword [0x10011020]
mov esi, dword [0x10011024]
movzx eax, dx
cdq
cmp ecx, eax
jne 0x1000a412
cmp esi, edx
jne 0x1000a412
mov ecx, 1
jmp 0x1000a414
xor ecx, ecx
mov eax, dword [0x10011020]
mov edx, dword [0x10011024]
cmp eax, 0x19
jne 0x1000a42d
test edx, edx
jne 0x1000a42d
lea eax, [edx + 1]
jmp 0x1000a42f
xor eax, eax
cmp ecx, eax
jae 0x1000a45d
movzx eax, word [0x10011088]
mov di, word [esp + 0x38]
cmp dword [0x100110a4], eax
jle 0x1000a48b
mov eax, dword [esp + 0x58]
add al, 0xd
mov dword [0x10011010], 0x25d4fdbe
mov byte [esp + 0x12], al
jmp 0x1000a48b
cmp word [0x10011090], 0
je 0x1000a56d
mov eax, 0xc9
mov dword [esp + 0x60], 0x1bfa
mov dword [esp + 0x64], 0
mov word [0x101cc9bc], ax
mov di, word [esp + 0x38]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x4c]
add eax, 0x580
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x2c]
add eax, 0x773
add ecx, 0x91450cc4
mov dword [esp + 0x174], eax
mov eax, dword [esp + 0x5c]
adc eax, 0
mov dword [0x10011070], ecx
mov dword [0x10011074], eax
sub esp, 0x30
mov eax, dword [0x1005458c]
mov dword [esp + 0x5c], eax
mov ax, word [esp + 0x44]
call fcn.10001410
add esp, 0x30
cmp byte [esp + 0x11], 0
je 0x1000a4f2
mov eax, dword [0x100110c8]
mov ecx, dword [0x100110cc]
mov ax, word [esp + 0x14]
xor edx, edx
mov al, byte [esp + 0x11]
mov eax, dword [0x100110a4]
mov eax, dword [esp + 0x2c]
add eax, 0x7c0
mov dword [esp + 0xb8], eax
movzx ecx, word [0x1001108c]
movsx eax, di
cmp ecx, eax
setl dl
cmp word [0x1001108c], 0x2a
sbb eax, eax
neg eax
cmp edx, eax
jbe 0x1000a64f
movsx eax, byte [0x1001100a]
cmp eax, dword [0x10011084]
je 0x1000a5bb
mov ecx, dword [0x10011040]
mov eax, dword [0x10011044]
or ecx, eax
jne 0x1000a5a4
mov edi, dword [esp + 0x34]
xor eax, eax
mov ecx, 1
cmp ecx, edi
sete al
mov dword [0x10011084], eax
jmp 0x1000a661
movzx eax, byte [esp + 0x18]
not eax
cmp eax, dword [esp + 0x3c]
jb 0x1000a486
mov di, word [esp + 0x38]
movsx eax, di
cdq
add eax, dword [section..data]
adc edx, dword [0x10011004]
and dword [section..data], eax
and dword [0x10011004], edx
jmp 0x1000a48b
mov edi, dword [esp + 0x34]
xor eax, eax
xor ecx, ecx
cmp ecx, edi
sete al
mov dword [0x10011084], eax
jmp 0x1000a661
movsx eax, word [0x1001102c]
xor edx, edx
cmp dword [0x100110ac], eax
movsx ecx, word [0x10011048]
mov eax, dword [0x100110e4]
sete dl
or eax, ecx
cmp eax, edx
jl 0x1000a5f7
mov eax, dword [0x100110ac]
and eax, 0xb2f6
mov dword [esp + 0x5c], 0
mov dword [esp + 0x4c], eax
jmp 0x1000a65d
mov esi, dword [0x100110e8]
mov edx, dword [0x100110ec]
mov eax, dword [esp + 0x60]
or esi, eax
mov ecx, dword [esp + 0x64]
or edx, ecx
or esi, edx
je 0x1000a65d
mov eax, dword [0x1005458c]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], 0
mov eax, dword [esp + 0x70]
mov ecx, dword [0x100110d8]
neg eax
sbb eax, eax
inc eax
movzx edx, ax
mov eax, dword [0x100110dc]
movzx eax, cx
mov ecx, dword [esp + 0x54]
add ecx, edx
add ecx, eax
mov word [0x10011090], cx
jmp 0x1000a65d
mov al, byte [esp + 0x4c]
sub al, 0x6e
or al, byte [esp + 0x12]
mov byte [esp + 0x12], al
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
sub esp, 0x30
mov si, word [esp + 0x80]
add eax, 0x7d3
mov dword [esp + 0x1ac], eax
mov eax, dword [0x10011060]
xor eax, 0x3f7b
mov dword [esp + 0x84], eax
mov byte [esp + 0x41], 0x1a
mov eax, dword [esp + 0x5c]
add eax, 0x5fe
mov dword [esp + 0x190], eax
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x9c]
add byte [0x10011015], 0x30
mov ax, si
sub ax, cx
and si, ax
mov eax, dword [0x1005458c]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xc0]
add eax, 0x585
mov word [esp + 0x68], si
mov dword [esp + 0x5c], eax
call fcn.10001410
mov dl, al
add esp, 0x30
mov byte [esp + 0x1f], dl
test dl, dl
js 0x1000a71b
movzx eax, word [0x1001108c]
mov ecx, dword [0x1005458c]
sub eax, 0x70ff79e5
mov dword [0x10011040], ecx
mov dword [esp + 0x3c], eax
mov dword [0x10011044], 0
jmp 0x1000a778
mov eax, dword [0x10011084]
add eax, 0xffffffd4
movzx eax, ax
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x54]
movsx ecx, word [0x100110c0]
neg eax
not ecx
sbb eax, eax
inc eax
movzx esi, ax
movsx eax, dl
add ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
add ecx, 0x417a
movzx edx, cx
mov ecx, dword [0x100110c8]
mov eax, dword [0x100110cc]
xor esi, dword [0x10011030]
movzx eax, cx
xor esi, eax
imul esi, edx
mov word [0x100110a8], si
mov si, word [esp + 0x38]
mov eax, dword [esp + 0x90]
sub esp, 0x18
add eax, 0x556
mov dword [esp + 0x38], eax
mov al, byte [0x10011014]
call fcn.10001bc0
add esp, 0x18
movzx eax, ax
cmp byte [esp + 0x11], 0
mov dword [esp + 0x7c], eax
je 0x1000a7cb
imul eax, dword [esp + 0x58], 0xf8065aea
mov dword [esp + 0x58], eax
movzx eax, word [esp + 0x78]
cdq
add eax, 0x61
mov dword [0x10011020], eax
adc edx, 0
mov dword [0x10011024], edx
jmp 0x1000a814
movzx ecx, byte [0x10011016]
xor eax, eax
add ecx, 0xb7
add ecx, dword [esp + 0x4c]
adc eax, dword [esp + 0x5c]
or ecx, eax
jne 0x1000a7eb
lea edx, [ecx + 1]
jmp 0x1000a7ed
xor edx, edx
movsx ecx, word [0x10011068]
movsx eax, byte [0x1001100a]
not ecx
sub ecx, eax
sub ecx, dword [esp + 0x4c]
add ecx, dword [0x100110b0]
imul ecx, edx
not ecx
mov dword [0x10011010], ecx
mov eax, dword [esp + 0x90]
add eax, 0x6b6
mov dword [esp + 0x20], eax
mov eax, dword [0x1005458c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
add eax, 0x6ae
mov dword [esp + 0xd4], eax
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
or ecx, eax
je 0x1000a8b8
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
sub eax, 1
mov dword [esp + 0x60], eax
sbb ecx, 0
mov dword [esp + 0x64], ecx
movzx eax, word [0x1001100c]
cwde
movsx ecx, di
imul eax, ecx
movzx ecx, ax
movzx eax, byte [esp + 0x18]
mov edx, dword [esp + 0x40]
sub cx, ax
mov eax, dword [esp + 0x44]
movzx ecx, cx
add dx, cx
mov word [0x10011068], dx
mov edx, 0x19ea
movzx eax, byte [0x1001100f]
movsx ecx, word [esp + 0x14]
mov dword [esp + 0x8c], eax
mov eax, dword [0x100110e4]
sub ecx, eax
mov word [esp + 0x14], cx
sub edx, 1
jne 0x1000a892
jmp 0x1000a8fc
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x5c]
not eax
not ecx
cmp eax, dword [0x10011050]
jne 0x1000a8d8
cmp ecx, dword [0x10011054]
jne 0x1000a8d8
xor ecx, ecx
jmp 0x1000a8dd
mov ecx, 1
movsx eax, word [0x100110c0]
cmp ecx, eax
jl 0x1000a8fc
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
mov eax, dword [0x100110a4]
sub eax, ecx
mov dword [0x100110a4], eax
mov eax, dword [esp + 0x28]
add eax, 0x706
movzx esi, si
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x58]
add eax, esi
mov dword [esp + 0x58], eax
mov eax, 0xff
mov word [0x10011068], ax
mov eax, dword [esp + 0x28]
add eax, 0x590
mov dword [esp + 0x20], eax
mov eax, 0xffff869e
mov word [esp + 0x14], ax
mov al, byte [esp + 0x13]
add al, 0x24
mov byte [0x1001100f], al
mov eax, dword [0x1005458c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
add eax, 0x5a1
mov dword [esp + 0xa0], eax
cmp esi, dword [esp + 0x3c]
ja 0x1000a96f
mov al, byte [esp + 0x1e]
dec al
mov byte [esp + 0x1e], al
mov eax, dword [esp + 0x28]
add eax, 0x530
mov dword [esp + 0x164], eax
mov eax, esi
cdq
cmp edx, dword [0x100110bc]
ja 0x1000a9d9
jb 0x1000a994
cmp eax, dword [0x100110b8]
ja 0x1000a9d9
movsx eax, byte [esp + 0x11]
mov ecx, dword [esp + 0x60]
cdq
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x64]
cmp ecx, edx
jg 0x1000a9f7
jl 0x1000a9b8
cmp dword [esp + 0x88], eax
jae 0x1000a9f7
cmp dword [esp + 0x3c], 0
mov eax, dword [0x100110b0]
jne 0x1000a9cb
movzx eax, byte [0x10011015]
cdq
mov dword [0x100110c8], eax
mov dword [0x100110cc], edx
jmp 0x1000a9f7
imul eax, dword [0x10011078], 0x381e
mov cx, word [0x1001103c]
movzx eax, ax
add cx, ax
mov word [0x1001103c], cx
mov eax, dword [esp + 0x28]
add eax, 0x852
cmp word [0x10011008], 0
mov dword [esp + 0x98], eax
mov eax, dword [0x1005458c]
mov dword [esp + 0x28], eax
je 0x1000aa2e
mov eax, dword [0x10141690]
and dword [0x10011060], eax
and dword [0x10011064], 0
jmp 0x1000aa42
mov dword [0x10011030], 4
mov dword [0x10011034], 0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x8c]
add eax, 0x8d2
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x30]
test eax, eax
mov eax, dword [esp + 0x28]
cmovne ecx, dword [0x10011078]
add eax, 0x779
mov dword [0x100110b0], ecx
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
mov eax, dword [esp + 0x28]
sub dword [0x100110ac], ecx
add eax, 0x5d5
mov dword [esp + 0x20], eax
movsx eax, word [0x1001102c]
cdq
cmp dword [0x100110b8], eax
jne 0x1000aaa9
cmp dword [0x100110bc], edx
je 0x1000aad6
cmp dword [esp + 0x8c], 0
je 0x1000aac1
mov eax, dword [0x100110a4]
cdq
mov ecx, eax
mov dword [esp + 0x24], edx
jmp 0x1000aad0
mov eax, dword [0x1001107c]
mov ecx, dword [0x10011078]
mov dword [esp + 0x24], eax
mov dword [0x10011038], ecx
mov eax, dword [0x1005458c]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x8c]
add eax, 0x5ef
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x8c]
add eax, 0x80e
mov dword [esp + 0x74], eax
mov eax, dword [0x10011018]
or eax, dword [0x1001101c]
je 0x1000ab1d
movzx eax, word [esp + 0x78]
cdq
mov ecx, eax
mov dword [esp + 0x24], edx
jmp 0x1000ab29
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x24], eax
mov dword [0x100110e0], ecx
mov ecx, 0x14ad9701
mov eax, dword [esp + 0x8c]
sub ecx, dword [0x10011084]
add eax, 0x58b
mov dword [esp + 0xac], eax
movsx eax, byte [esp + 0x1f]
not eax
imul ecx, eax
mov eax, dword [0x1005458c]
mov dword [0x100110e8], ecx
mov dword [0x100110ec], 0
mov dword [esp + 0x8c], eax
mov eax, dword [0x10011080]
movsx edx, word [esp + 0x14]
not eax
add edx, eax
mov eax, dword [esp + 0x54]
mov ecx, dword [0x100110ac]
sub ecx, eax
imul ecx, edx
test ecx, ecx
mov ecx, dword [esp + 0x30]
sete byte [0x10011015]
add ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x30]
or eax, ecx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x8c]
add eax, 0x5e3
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x8c]
add eax, 0x638
mov dword [esp + 0xb0], eax
movzx eax, word [esp + 0x78]
cmp eax, dword [esp + 0x30]
jae 0x1000abfa
mov ecx, dword [0x100110d8]
mov eax, dword [0x100110dc]
sub cl, 0x1e
movsx eax, byte [0x10100d17]
mov byte [esp + 0x13], cl
mov dword [0x10011038], eax
mov eax, dword [esp + 0x8c]
add eax, 0x834
mov dword [esp + 0x28], edi
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
sub ecx, 0x512c
mov eax, dword [0x1005458c]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x8c]
add eax, 0x8b1
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
mov eax, dword [0x10011038]
sub ecx, eax
mov eax, dword [0x10011038]
add eax, ecx
mov dword [0x10011038], eax
mov eax, dword [esp + 0x8c]
add eax, 0x522
mov dword [esp + 0x20], eax
imul eax, dword [esp + 0x3c], 0x71db98cf
mov dword [0x100110ac], eax
mov eax, dword [esp + 0x8c]
mov ecx, dword [0x10011050]
add eax, 0x513
mov dword [esp + 0x8c], eax
add ecx, 0x9a57
mov eax, dword [0x10011054]
adc eax, 0
mov dword [0x10011020], ecx
mov dword [0x10011024], eax
movzx ecx, byte [0x1001100b]
mov eax, dword [0x100110e4]
add eax, ecx
mov dword [0x100110e4], eax
movsx eax, word [0x1001102c]
cdq
cmp edx, dword [0x10011034]
jg 0x1000acf6
jl 0x1000acd6
cmp eax, dword [0x10011030]
jae 0x1000acf6
mov eax, dword [0x100110d0]
add eax, 0x7ab4b6c5
mov dword [esp + 0x58], eax
movzx eax, byte [esp + 0x18]
cdq
mov esi, edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x5c], esi
jmp 0x1000ad1d
mov eax, dword [0x100110e0]
not eax
test eax, eax
je 0x1000ad19
mov eax, dword [0x1005458c]
mov dword [esp + 0x30], eax
mov eax, 0xffffff18
sub eax, esi
add eax, dword [esp + 0x30]
mov dword [esp + 0x30], eax
mov esi, dword [esp + 0x5c]
mov edx, dword [esp + 0xa4]
sub dl, byte [esp + 0xa4]
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xe0]
xor cl, al
movsx eax, dl
movsx edx, cl
imul edx, eax
mov eax, dword [esp + 0x9c]
sub al, byte [esp + 0x9c]
mov ecx, dword [esp + 0x9c]
add cl, byte [esp + 0x9c]
movsx eax, al
movsx ecx, cl
imul ecx, eax
sub dl, cl
add dl, 0x6c
cmp dword [esp + 0x4c], 0x3d
mov byte [esp + 0x11b], dl
jne 0x1000ad80
test esi, esi
je 0x1000ad85
mov esi, 1
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
test eax, eax
jl 0x1000ad9f
jg 0x1000ad98
cmp ecx, 0x63
jbe 0x1000ad9f
mov edx, 1
jmp 0x1000ada1
xor edx, edx
mov ecx, dword [0x100110d8]
mov eax, dword [0x100110dc]
or ecx, eax
jne 0x1000adbf
mov dword [esp + 0xa4], 1
xor edi, edi
jmp 0x1000ade0
xorps xmm0, xmm0
movlpd qword [esp + 0xe0], xmm0
mov eax, dword [esp + 0xe0]
mov edi, dword [esp + 0xe4]
mov dword [esp + 0xa4], eax
mov eax, dword [0x10011034]
mov ecx, dword [0x10011030]
not eax
not ecx
cmp eax, edi
jg 0x1000ae02
jl 0x1000adfe
cmp ecx, dword [esp + 0xa4]
ja 0x1000ae02
xor ecx, ecx
jmp 0x1000ae07
mov ecx, 1
mov eax, dword [esp + 0x54]
or edx, ecx
sub esi, eax
cmp esi, edx
jge 0x1000aec6
mov eax, dword [0x100110a4]
mov ecx, dword [esp + 0x58]
cdq
mov esi, eax
mov eax, edx
mul ecx
mov edi, eax
mov eax, esi
mul ecx
add edi, edx
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
push edi
push eax
push ecx
push edx
call fcn.1000f4d0
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0x6c]
mov esi, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
push ecx
push esi
push edi
push eax
mov dword [esp + 0xb4], edx
call fcn.1000f4d0
and eax, dword [0x10011078]
and edx, dword [0x1001107c]
add eax, dword [esp + 0xe0]
adc edx, dword [esp + 0xa4]
or eax, edx
jne 0x1000ae9c
mov eax, 1
xor ecx, ecx
mov dword [0x100110e8], eax
mov dword [0x100110ec], ecx
jmp 0x1000af70
xorps xmm0, xmm0
movlpd qword [esp + 0xe0], xmm0
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xe4]
mov dword [0x100110e8], eax
mov dword [0x100110ec], ecx
jmp 0x1000af70
cmp byte [esp + 0x13], 0
je 0x1000af55
mov ecx, dword [0x10011020]
mov eax, dword [0x10011024]
or ecx, eax
jne 0x1000af55
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov al, byte [0x1001100e]
mov eax, dword [esp + 0x54]
movsx esi, byte [esp + 0x1e]
movzx eax, byte [0x10011016]
not eax
imul esi, eax
movsx ax, byte [esp + 0x11]
movsx ecx, word [0x10011084]
movsx edx, ax
imul edx, ecx
movsx eax, si
movsx ecx, dx
imul ecx, eax
xor cx, 0x70
mov word [esp + 0x14], cx
mov ecx, dword [0x10011038]
movzx eax, byte [0x1001100a]
sub cl, 0x51
movzx ecx, cl
imul ecx, eax
mov al, byte [0x10011008]
not al
add al, byte [0x10011078]
not cl
add al, cl
mov byte [0x10011016], al
jmp 0x1000af70
mov eax, dword [esp + 0x34]
movsx eax, al
imul eax, eax, 0xffffffd6
add byte [esp + 0x1f], al
mov al, byte [0x10011078]
add al, 9
add byte [0x10011016], al
mov eax, dword [esp + 0x84]
sub esp, 0x10
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x94]
xor dl, al
sub cl, byte [esp + 0x94]
movsx ecx, cl
movsx eax, dl
imul ecx, eax
add cl, 0x6c
mov byte [esp + 0x125], cl
call fcn.10001ff0
add esp, 0x10
movzx eax, al
cmp dword [esp + 0x30], 0
mov word [0x10011068], ax
je 0x1000afff
mov eax, dword [0x100110e0]
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
cdq
push edx
push eax
push ecx
push esi
call fcn.1000f4d0
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
add ecx, eax
mov dword [esp + 0x40], ecx
mov ecx, dword [0x10011060]
adc esi, edx
mov dword [esp + 0x44], esi
add ecx, 0x51a8
mov eax, dword [esp + 0x58]
xor eax, ecx
mov dword [esp + 0x58], eax
jmp 0x1000b01b
movsx eax, byte [0x1001100a]
not eax
test eax, eax
je 0x1000b01b
mov eax, dword [esp + 0x70]
add eax, 0x128e
mov word [0x1001108c], ax
movzx eax, byte [esp + 0x13]
dec dword [0x100110ac]
add eax, 0xcda8
mov dword [0x100110b0], 0xcda8
mov byte [esp + 0x110], 0x4b
mov byte [esp + 0x116], 0x33
mov byte [esp + 0x11a], 0x6c
cmp dword [0x100110b0], eax
jne 0x1000b074
mov ecx, dword [esp + 0x34]
movzx eax, byte [0x10011015]
add ecx, 0xcda8
cmp eax, ecx
jne 0x1000b074
mov eax, dword [0x10011b7c]
mov dword [0x100110ac], eax
cmp byte [esp + 0x1f], 0
mov eax, 0x12a5
mov dword [0x100110b0], 0xcda8
mov word [0x10011048], ax
je 0x1000b0b2
mov ax, word [0x10011028]
sub esp, 0x10
mov al, byte [esp + 0x21]
call fcn.10001680
mov word [0x10011028], ax
add esp, 0x10
mov eax, dword [0x10011080]
jmp 0x1000b0d3
movzx eax, byte [esp + 0x18]
mov ecx, 0x58
xor al, byte [0x10047b76]
mov byte [esp + 0x18], al
movsx eax, word [0x10011028]
sub ecx, eax
add dword [esp + 0x3c], ecx
mov edx, dword [0x100110a0]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
add eax, edx
mov byte [esp + 0x112], 0x72
mov dword [esp + 0x60], eax
adc ecx, 0
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 0x70]
mov ax, word [0x10011028]
sub al, 0x7c
mov byte [esp + 0x113], 0x6e
mov byte [esp + 0x119], 0x64
mov byte [esp + 0x11], al
mov eax, dword [esp + 0x170]
mov edx, dword [esp + 0x170]
mov ecx, dword [esp + 0x170]
xor dl, al
add cl, byte [esp + 0x188]
movsx eax, dl
movsx edx, cl
mov ecx, dword [esp + 0x18c]
imul edx, eax
xor cl, 0xbb
movsx ecx, cl
nop word [eax + eax]
movsx eax, dl
imul ecx, eax
mov eax, dword [esp + 0x188]
movsx eax, al
movsx ecx, cl
imul eax, ecx
movsx eax, al
imul eax, eax, 0x45
add al, 0x65
mov byte [esp + 0x111], al
mov dword [0x10011080], 0x2a
mov al, byte [esp + 0x13]
mov eax, dword [0x100110e0]
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
sub cl, 0x15
mov eax, dword [esp + 0x184]
mov edx, dword [esp + 0x184]
mov dword [esp + 0x84], ecx
xor dl, al
mov ecx, dword [esp + 0x190]
add cl, 0x60
movsx eax, dl
movsx ecx, cl
imul ecx, eax
add cl, 0x32
mov byte [esp + 0x117], cl
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
mov ax, cx
add cx, cx
add ax, cx
mov cl, 0x31
shl ax, 3
mov word [0x10011008], ax
mov eax, dword [esp + 0x80]
sub cl, al
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x80]
add al, cl
add dl, al
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x80]
xor cl, al
movsx eax, dl
movsx edx, cl
mov ecx, dword [esp + 0x80]
add cl, byte [esp + 0xd8]
imul edx, eax
movsx ecx, cl
movsx eax, dl
imul ecx, eax
mov al, 0x2e
sub al, cl
cmp dword [esp + 0x34], 0
mov byte [esp + 0x118], al
jne 0x1000b24c
mov eax, dword [0x100110e8]
mov ecx, dword [0x100110ec]
cmp word [esp + 0x14], 0
mov dword [0x10011050], 0x19f1
mov dword [0x10011054], 0
je 0x1000b274
movsx eax, word [0x10011068]
cdq
mov ecx, eax
jmp 0x1000b27f
mov ecx, dword [0x100110d8]
mov eax, dword [0x100110dc]
mov word [0x10011028], cx
mov eax, dword [0x10011038]
movups xmm0, xmmword [str.wsa10:EndpointRefe]
sub eax, 0x77f
mov word [esp + 0x14], ax
mov ax, word [0x1001017c]
mov word [esp + 0x220], ax
mov al, byte [0x1001017e]
mov byte [esp + 0x222], al
lea eax, [esp + 0x210]
push eax
movups xmmword [esp + 0x214], xmm0
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cdq
mov cl, 0x88
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
mov eax, dword [esp + 0x16c]
sub cl, al
mov eax, dword [esp + 0x180]
add al, cl
mov ecx, dword [esp + 0x180]
add cl, al
mov eax, dword [esp + 0x16c]
mov dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x194]
sub cl, al
movsx eax, byte [esp + 0x194]
movsx ecx, cl
imul ecx, eax
mov eax, dword [esp + 0xd8]
movsx eax, al
mov byte [esp + 0x11c], 0
movsx ecx, cl
imul ecx, eax
movsx eax, dl
movsx ecx, cl
imul ecx, eax
movsx eax, word [0x100110c0]
mov esi, dword [esp + 0x68]
cdq
push edx
add cl, 0x65
push eax
mov byte [esp + 0x11c], cl
mov ecx, dword [esp + 0x74]
push ecx
push esi
call fcn.1000f4d0
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
cmp dword [0x100110e0], 0
je 0x1000b37b
mov ecx, dword [0x10011070]
jmp 0x1000b38a
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0xdc], 0
mov byte [esp + 0x12], cl
movzx eax, byte [esp + 0x18]
cmp eax, dword [0x10011080]
je 0x1000b3b0
mov dword [0x100110d0], 0x9b
mov eax, dword [0x10011038]
xor al, 0xe7
mov byte [esp + 0x12], al
movsx ax, byte [esp + 0x11]
mov ecx, 0xd6
mov byte [esp + 0x102], 0x6c
mov byte [esp + 0x100], 0x64
mov byte [esp + 0xfc], 0x6c
sub cx, ax
mov dword [esp + 0x50], 4
add word [0x10011008], cx
mov ecx, dword [esp + 0x34]
mov byte [0x1001100e], 0x9d
inc ecx
movzx eax, byte [0x1001100e]
cmp eax, ecx
jne 0x1000b41a
movzx eax, word [0x10011008]
mov ecx, eax
sub ecx, dword [0x10011078]
and ecx, eax
mov ax, word [0x10011028]
mov word [0x10011008], cx
mov byte [0x1001100e], 0x9d
movzx eax, byte [esp + 0x12]
cdq
sub dword [0x10011078], eax
sbb dword [0x1001107c], edx
cmp dword [esp + 0x4c], 4
jne 0x1000b46a
cmp dword [esp + 0x5c], 0
jne 0x1000b46a
mov ecx, dword [esp + 0x84]
movsx eax, cl
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x3c]
shl eax, 6
mov dword [0x10011098], eax
mov dword [0x1001109c], 0
jmp 0x1000b564
mov eax, dword [0x10011070]
or eax, dword [0x10011074]
je 0x1000b48e
movzx eax, word [0x100110a8]
imul eax, eax, 0x26a1
mov dword [0x100110e4], eax
jmp 0x1000b564
cmp word [0x10011048], 0
je 0x1000b4aa
mov eax, dword [0x100110ac]
not eax
test eax, eax
je 0x1000b4aa
mov ecx, 1
jmp 0x1000b4ac
xor ecx, ecx
mov eax, dword [0x10011038]
not eax
cdq
cmp dword [0x10011064], edx
jb 0x1000b4cd
ja 0x1000b4c6
cmp dword [0x10011060], eax
jbe 0x1000b4cd
mov eax, 1
jmp 0x1000b4cf
xor eax, eax
test ecx, eax
je 0x1000b4f1
movsx ecx, byte [esp + 0x1e]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x3c]
imul eax, ecx
mov dword [esp + 0x3c], eax
jmp 0x1000b564
mov al, byte [0x1001100e]
cmp al, byte [0x1001100e]
jne 0x1000b530
movsx eax, word [0x1001103c]
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
cdq
sub ecx, eax
mov dword [esp + 0x40], ecx
sbb esi, edx
mov dword [esp + 0x44], esi
mov al, byte [esp + 0x18]
mov cl, byte [0x1001100f]
add al, cl
xor cl, al
mov byte [0x1001100f], cl
jmp 0x1000b564
mov eax, dword [0x10011060]
or eax, dword [0x10011064]
jne 0x1000b542
lea ecx, [eax + 1]
jmp 0x1000b544
xor ecx, ecx
mov eax, dword [0x10011010]
not eax
cmp ecx, eax
ja 0x1000b564
mov eax, dword [0x100110d0]
and eax, dword [0x10011070]
and eax, 0x53a83b6c
mov dword [0x100110d0], eax
mov eax, dword [esp + 0x3c]
mov byte [esp + 0xff], 0x2e
inc eax
mov dword [0x10011038], 0x36a81271
cmp dword [0x10011038], eax
jne 0x1000b58c
mov eax, dword [0x10011018]
mov dword [esp + 0x58], eax
mov ax, word [esp + 0x7c]
cwde
mov dword [esp + 0x80], eax
add eax, 0xffffea44
mov dword [0x10011038], 0x36a81271
add ax, word [esp + 0x14]
mov word [esp + 0x14], ax
mov eax, dword [esp + 0xc8]
mov eax, dword [0x100110e4]
mov edi, dword [0x10011018]
mov esi, dword [0x1001101c]
cdq
mov byte [esp + 0xf9], 0x68
cmp edi, eax
jne 0x1000b5e2
cmp esi, edx
jne 0x1000b5e2
mov ecx, 1
jmp 0x1000b5e4
xor ecx, ecx
cmp edi, 0x4e
jne 0x1000b5f2
test esi, esi
jne 0x1000b5f2
lea eax, [edi - 0x4d]
jmp 0x1000b5f4
xor eax, eax
cmp ecx, eax
ja 0x1000b633
mov eax, dword [0x100110ac]
cmp eax, dword [0x100110a0]
sbb ecx, ecx
inc ecx
cmp eax, 0x4b
sbb eax, eax
inc eax
cmp ecx, eax
mov ecx, dword [esp + 0x34]
ja 0x1000b620
mov al, byte [0x10011008]
mov byte [0x1001100e], al
jmp 0x1000b65d
mov eax, ecx
sar eax, 5
cdq
mov dword [section..data], eax
mov dword [0x10011004], edx
jmp 0x1000b65d
mov ax, word [0x10011090]
mov ax, word [0x10011028]
movsx eax, word [0x1001103c]
add dword [0x100110b8], 1
mov ecx, dword [esp + 0x34]
adc dword [0x100110bc], 0
mov dword [0x1016a9a0], eax
mov esi, dword [0x10011098]
mov eax, dword [0x1001109c]
mov edx, dword [0x10011010]
mov byte [esp + 0xf8], 0x53
test eax, eax
jb 0x1000b6b9
ja 0x1000b680
cmp esi, edx
jbe 0x1000b6b9
mov eax, dword [esp + 0x30]
xor edx, edx
mov ecx, dword [esp + 0x58]
test eax, eax
mov eax, dword [esp + 0x84]
cmove edx, ecx
movsx eax, al
mov ecx, dword [0x100110a4]
imul ecx, eax
add ecx, edx
imul eax, ecx, 0xea
mov ecx, dword [esp + 0x34]
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x30], eax
jmp 0x1000b6c7
mov al, byte [esp + 0x12]
add al, byte [esp + 0x4c]
add al, cl
mov byte [esp + 0x13], al
mov edi, dword [esp + 0x80]
mov byte [esp + 0xfd], 0x33
mov dword [0x10011084], 0x64
test ecx, ecx
jne 0x1000b73c
mov eax, edi
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [0x100110e0]
add ecx, 0x316ed601
cdq
adc esi, 0x341d8
cmp eax, ecx
jne 0x1000b73c
cmp edx, esi
jne 0x1000b73c
movsx ecx, byte [esp + 0x11]
mov eax, dword [esp + 0x58]
movsx eax, al
movsx ecx, cl
imul eax, ecx
mov ecx, 0xb9
mov byte [esp + 0x11], al
mov al, byte [esp + 0x7c]
mov byte [0x10011015], al
mov eax, dword [esp + 0x84]
cbw
sub ax, cx
movzx eax, ax
mov dword [esp + 0x78], eax
mov al, byte [0x1001100e]
movq xmm0, qword [str._registry.cpp]
sub al, 0x2d
mov dword [0x10011084], 0x64
mov byte [esp + 0x11], al
mov eax, dword [0x10010188]
mov dword [esp + 0x1b8], eax
mov ax, word [0x1001018c]
mov word [esp + 0x1bc], ax
lea eax, [esp + 0x1b0]
push eax
mov byte [esp + 0xff], 0x6c
movq qword [esp + 0x1b4], xmm0
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [0x100110a4], eax
sub esp, 0x10
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb8]
sub cl, al
mov eax, dword [esp + 0xb8]
add al, 0x48
movsx ecx, cl
movsx eax, al
imul ecx, eax
mov al, byte [esp + 0x23]
mov al, byte [esp + 0x22]
add cl, 0x6c
mov byte [esp + 0x111], cl
call fcn.10001ff0
mov byte [esp + 0x2e], al
xor edx, edx
mov al, byte [esp + 0x2e]
add esp, 0x10
cmp al, 0x4a
mov al, byte [esp + 0x1e]
setle dl
xor ecx, ecx
test al, al
setle cl
cmp ecx, edx
jae 0x1000b86c
mov ax, word [0x10011088]
cmp ax, word [0x10011088]
movsx eax, byte [esp + 0x11]
jb 0x1000b820
mov ecx, dword [esp + 0x34]
and eax, ecx
add eax, ecx
mov dword [esp + 0x28], eax
mov al, byte [esp + 0x11]
inc al
mov byte [esp + 0x11], al
jmp 0x1000b870
mov esi, dword [0x10011020]
mov ecx, dword [0x10011024]
cdq
push edx
push eax
push ecx
push esi
call fcn.1000f4d0
mov ecx, dword [esp + 0x30]
mov esi, 0xdc
sub esi, ecx
mov byte [esp + 0x84], 1
sub eax, esi
sbb edx, 0
or eax, edx
je 0x1000b85a
mov byte [esp + 0x84], 0
mov ecx, dword [0x100110c8]
mov eax, dword [0x100110cc]
inc ecx
mov dword [esp + 0x34], ecx
jmp 0x1000b870
mov ecx, dword [esp + 0x34]
mov eax, 0x79bd
mov byte [esp + 0xfa], 0x65
mov word [0x1001100c], ax
movsx eax, word [0x1001100c]
add eax, edi
cdq
cmp dword [0x10011050], eax
jne 0x1000bc24
cmp dword [0x10011054], edx
jne 0x1000bc24
lea eax, [ecx + 0xeb]
mov dword [esp + 0xd8], eax
mov edx, dword [0x100110e8]
mov ecx, dword [0x100110ec]
mov esi, dword [0x10011098]
mov eax, dword [0x1001109c]
cmp eax, ecx
ja 0x1000ba84
jb 0x1000b8db
cmp esi, edx
ja 0x1000ba84
movzx eax, byte [0x10011015]
mov esi, dword [0x10011078]
mov ecx, dword [0x1001107c]
not esi
cdq
not ecx
mov edi, eax
movsx eax, word [0x1001103c]
add edi, esi
not eax
adc edx, ecx
mov dword [esp + 0xc8], edx
cdq
cmp edi, eax
jne 0x1000b91b
cmp dword [esp + 0xc8], edx
jne 0x1000b91b
xor edx, edx
jmp 0x1000b920
mov edx, 1
mov ecx, dword [0x100110c8]
mov eax, dword [0x100110cc]
not ecx
not eax
or ecx, eax
jne 0x1000b943
movzx ecx, word [0x10011058]
movsx eax, byte [esp + 0x11]
or eax, ecx
je 0x1000b948
mov eax, 1
cmp edx, eax
jb 0x1000ba12
mov al, byte [0x1001100b]
inc al
mov byte [0x1001100b], al
mov eax, dword [0x10011070]
add eax, 0xe369
mov dword [esp + 0x4c], eax
mov eax, dword [0x10011074]
adc eax, 0
mov dword [esp + 0x5c], eax
mov edi, dword [esp + 0x80]
movsx eax, word [0x1001100c]
cmp eax, dword [esp + 0xd8]
jne 0x1000bc24
mov eax, dword [esp + 0x70]
sub esp, 0x10
call section..text
mov word [esp + 0x24], ax
xor edx, edx
movzx eax, word [esp + 0x24]
add esp, 0x10
cmp ax, 0x1d
movzx eax, word [esp + 0x14]
setle dl
xor ecx, ecx
test ax, ax
setle cl
cmp ecx, edx
ja 0x1000bb2e
movsx eax, byte [esp + 0x11]
xor edx, edx
movzx ecx, ax
movzx eax, word [0x10011028]
cmp ax, cx
setne dl
xor ecx, ecx
cmp word [0x10011028], 0x2c
setne cl
cmp edx, ecx
ja 0x1000bad2
mov ecx, dword [0x10011038]
sub ecx, dword [0x10011038]
mov eax, dword [0x100110a0]
sub ecx, eax
mov dword [0x10011038], ecx
jmp 0x1000bbfb
cmp word [0x1001102c], 0
je 0x1000ba32
movsx ecx, word [0x1001103c]
movzx eax, byte [0x10011016]
cmp eax, ecx
jge 0x1000b976
mov ecx, dword [0x100110c8]
mov eax, dword [0x100110cc]
mov eax, dword [esp + 0x30]
inc eax
movzx ecx, cx
add eax, ecx
not eax
movzx eax, ax
add eax, 0xffffff79
add ax, word [esp + 0x14]
movsx ecx, word [0x10011068]
movzx edx, ax
mov eax, 0x3228
cwde
imul ecx, eax
mov eax, 0x3b58
add cx, ax
movsx eax, dx
movsx ecx, cx
imul ecx, eax
mov word [esp + 0x14], cx
jmp 0x1000b976
mov eax, dword [esp + 0x30]
not eax
test eax, eax
jne 0x1000ba9e
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
or ecx, eax
jne 0x1000ba9e
xor edx, edx
jmp 0x1000baa3
mov edx, 1
movsx eax, byte [0x10011014]
xor ecx, ecx
not eax
cmp dword [esp + 0x34], eax
setne cl
cmp edx, ecx
ja 0x1000b97d
movzx ecx, byte [esp + 0x12]
mov eax, dword [0x10011038]
sub cl, al
mov byte [esp + 0x12], cl
jmp 0x1000b97d
mov eax, dword [0x10011050]
or eax, dword [0x10011054]
je 0x1000bb0b
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov ax, word [esp + 0x50]
add cx, ax
and ax, cx
mov word [esp + 0x50], ax
movsx eax, byte [esp + 0x11]
sub al, byte [0x1014f1b4]
mov byte [esp + 0x11], al
jmp 0x1000bbfb
movzx ecx, word [0x10011088]
movsx eax, word [esp + 0x14]
cmp ecx, eax
jge 0x1000bbfb
mov dword [0x10011010], 0xdd448554
jmp 0x1000bbfb
cmp word [esp + 0x7c], 0
je 0x1000bbe1
mov eax, dword [esp + 0x4c]
push dword [0x10011034]
movsx ecx, byte [0x1001100a]
add eax, 0x5fac5ffb
push dword [0x10011030]
mov dword [0x100110a0], eax
mov eax, dword [esp + 0x3c]
sub eax, ecx
cdq
push edx
push eax
call fcn.1000f4d0
or eax, edx
jne 0x1000bb72
lea edi, [eax + 1]
jmp 0x1000bb74
xor edi, edi
mov eax, dword [0x10011080]
neg eax
sbb eax, eax
inc eax
add eax, dword [0x100110b0]
jne 0x1000bb8d
lea ecx, [eax + 1]
xor esi, esi
jmp 0x1000bba7
xorps xmm0, xmm0
movlpd qword [esp + 0xc8], xmm0
mov esi, dword [esp + 0xcc]
mov ecx, dword [esp + 0xc8]
mov eax, dword [0x100110e4]
cdq
xor eax, dword [0x10011030]
xor edx, dword [0x10011034]
sub ecx, eax
sbb esi, edx
or ecx, esi
jne 0x1000bbc8
mov ecx, 1
jmp 0x1000bbca
xor ecx, ecx
xor eax, eax
cmp edi, ecx
mov edi, dword [esp + 0x80]
sete al
movzx eax, ax
mov dword [esp + 0x50], eax
jmp 0x1000bbfb
cmp dword [esp + 0x54], 0
je 0x1000bbfb
movsx ecx, word [0x10011090]
mov eax, dword [esp + 0x54]
xor eax, ecx
mov word [0x10011090], ax
mov eax, 0x79bd
mov word [0x1001100c], ax
movsx eax, word [0x1001100c]
add eax, edi
cdq
cmp dword [0x10011050], eax
jne 0x1000bc24
cmp dword [0x10011054], edx
je 0x1000b8b2
mov cx, word [esp + 0x14]
mov eax, 0x10ee
movsx ecx, cx
cwde
imul ecx, eax
movzx eax, cx
mov ecx, dword [0x10011084]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x84]
movsx edx, al
mov eax, ecx
and eax, edx
mov dword [esp + 0xa8], edx
sub ecx, eax
mov eax, dword [esp + 0x168]
mov dword [0x10011084], ecx
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0xe8]
sub cl, al
movsx eax, byte [esp + 0x168]
movsx ecx, cl
imul ecx, eax
movsx eax, dl
mov byte [esp + 0x103], 0
movsx ecx, cl
imul ecx, eax
add cl, 0x32
cmp dword [0x100110e0], 0
mov byte [esp + 0xfe], cl
jne 0x1000bcc7
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
mov al, byte [esp + 0x18]
sub al, cl
mov byte [esp + 0x18], al
mov dword [0x100110a0], 0x6e0
mov eax, dword [esp + 0x34]
cdq
mov edi, eax
nop
mov dword [0x10011040], 0x242aecbd
mov dword [0x10011044], 0xa8d46
mov ecx, dword [0x10011040]
mov esi, dword [0x10011044]
add ecx, edi
mov eax, dword [0x100110d0]
adc esi, edx
mov dword [esp + 0xe8], 0
cmp eax, ecx
jne 0x1000bd2b
cmp dword [esp + 0xe8], esi
jne 0x1000bd2b
mov eax, dword [esp + 0x30]
mov word [0x1001102c], ax
movsx eax, word [esp + 0x14]
add eax, 0x64
cmp dword [0x100110a0], eax
je 0x1000bcd0
mov al, byte [esp + 0x12]
mov al, byte [esp + 0x12]
mov eax, dword [esp + 0x174]
movsx ecx, byte [esp + 0xc4]
movsx edx, al
movsx eax, byte [esp + 0x174]
imul edx, ecx
imul eax, eax, 0x27
xor al, dl
mov dl, 0x27
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x178]
xor al, 0x27
sub dl, al
mov eax, dword [esp + 0xc4]
add cl, dl
movsx eax, al
movsx ecx, cl
imul ecx, eax
mov al, 0x61
sub al, cl
mov byte [esp + 0x108], al
movzx eax, byte [esp + 0x13]
mov ecx, dword [0x10011038]
imul ecx, eax
mov al, byte [esp + 0x13]
sub al, cl
mov byte [esp + 0x13], al
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x160]
sub al, dl
add cl, byte [esp + 0xb8]
movsx eax, al
movsx ecx, cl
imul ecx, eax
mov eax, dword [0x100110e4]
add cl, 0x2e
cmp byte [0x1001100f], 0
mov byte [esp + 0x10b], cl
jne 0x1000bde9
movsx eax, byte [esp + 0x11]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
add eax, 0x3c54
mov byte [esp + 0x104], 0x53
mov word [0x10011058], ax
mov eax, dword [esp + 0xc8]
sub eax, dword [esp + 0x78]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x2c]
xor dl, al
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
add dl, 0x70
xor cl, al
mov ax, word [esp + 0x14]
add cl, dl
mov byte [esp + 0x10e], 0x6c
mov byte [esp + 0x109], cl
movsx ecx, byte [0x10011068]
movsx edx, al
movsx eax, byte [0x10011078]
imul edx, ecx
mov cl, byte [0x10011010]
not cl
movsx ecx, cl
imul ecx, eax
mov al, byte [esp + 0x4c]
not dl
add al, 0x30
add cl, dl
mov byte [esp + 0x1e], cl
and al, byte [esp + 0x11]
mov byte [esp + 0x11], al
movsx eax, word [0x1001102c]
mov ecx, dword [esp + 0x58]
cdq
neg eax
mov byte [esp + 0x106], 0x6c
mov dword [0x100110b8], eax
adc edx, 0
mov byte [esp + 0x10a], 0x69
neg edx
mov dword [0x100110bc], edx
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
test eax, eax
jl 0x1000bebf
jg 0x1000beb8
cmp edx, ecx
jbe 0x1000bebf
mov ecx, 1
jmp 0x1000bec1
xor ecx, ecx
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
test eax, eax
jl 0x1000bedb
jg 0x1000bed4
cmp edx, 0xf
jbe 0x1000bedb
mov eax, 1
jmp 0x1000bedd
xor eax, eax
cmp ecx, eax
ja 0x1000bf0c
cmp word [0x100110c0], 0
jne 0x1000bf0c
movzx eax, byte [0x1001100b]
push 0
cdq
push 0x9775
push edx
push eax
call fcn.1000f4d0
mov dword [0x100110d8], eax
mov dword [0x100110dc], edx
mov al, byte [esp + 0x11]
mov eax, dword [0x10011038]
cmp byte [0x10011014], 0
mov byte [esp + 0x10c], 0x64
je 0x1000bf2b
mov al, byte [0x10011014]
mov al, byte [esp + 0x18]
mov ecx, 0xc
mov al, byte [esp + 0x13]
nop dword [eax + eax]
mov ax, word [0x10011090]
mov word [0x1001108c], ax
mov eax, dword [0x10011038]
inc eax
mov dword [0x10011038], eax
sub ecx, 1
jne 0x1000bf40
mov ecx, dword [0x100110e8]
mov edx, 0x53
mov eax, dword [0x100110ec]
add ecx, 0xffffffa6
mov eax, dword [esp + 0x30]
add eax, ecx
mov byte [esp + 0x105], 0x68
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x3c]
cmp dword [esp + 0x30], eax
mov byte [esp + 0x10d], 0x6c
sbb ecx, ecx
neg ecx
cmp edx, eax
sbb eax, eax
neg eax
cmp ecx, eax
jne 0x1000c038
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
cdq
cmp ecx, edx
jl 0x1000bfc1
jg 0x1000bfba
cmp esi, eax
jbe 0x1000bfc1
mov ecx, 1
jmp 0x1000bfc3
xor ecx, ecx
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
test eax, eax
jl 0x1000bfdd
jg 0x1000bfd6
cmp edx, 0x54
jbe 0x1000bfdd
mov eax, 1
jmp 0x1000bfdf
xor eax, eax
cmp ecx, eax
ja 0x1000c02e
movsx eax, word [0x100110c0]
imul eax, dword [esp + 0x3c]
movzx ecx, word [0x100110a8]
sub ecx, eax
movzx eax, byte [esp + 0x18]
sub ecx, eax
movsx eax, byte [esp + 0x11]
movzx edx, byte [0x1001100e]
add eax, ecx
mov ecx, dword [esp + 0x40]
add edx, eax
mov eax, dword [esp + 0x44]
lea eax, [ecx + 1]
add eax, edx
mov dword [0x100110e0], eax
mov eax, dword [0x100110d0]
mov word [0x1014c06e], ax
jmp 0x1000c097
mov dword [esp + 0x34], 0xb209
jmp 0x1000c097
cmp dword [esp + 0x34], 0
je 0x1000c054
mov ax, word [0x10011058]
sub ax, word [0x100110ac]
mov word [0x10011058], ax
jmp 0x1000c097
cmp dword [esp + 0x70], 0
je 0x1000c086
movsx eax, word [0x1001102c]
mov ecx, dword [0x100110a4]
add ecx, eax
cmp dword [esp + 0x58], 0
movzx eax, byte [0x10011015]
mov dword [esp + 0x34], ecx
jne 0x1000c080
mov eax, dword [esp + 0x28]
mov byte [esp + 0x11], al
jmp 0x1000c097
cmp word [esp + 0x50], 0
jne 0x1000c097
mov al, byte [0x1005458c]
mov byte [esp + 0x1e], al
cmp word [0x100110c0], 0
mov byte [esp + 0x107], 0x77
je 0x1000c100
mov eax, dword [esp + 0xa8]
cmp dword [esp + 0x70], eax
sbb ecx, ecx
neg ecx
cmp dword [esp + 0x70], 0x5f
sbb eax, eax
neg eax
cmp ecx, eax
je 0x1000c100
mov eax, dword [esp + 0x28]
test eax, eax
je 0x1000c0d2
movsx eax, word [esp + 0x7c]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0
mov eax, dword [0x100110c8]
mov ecx, dword [0x100110cc]
and eax, dword [0x100110b8]
and ecx, dword [0x100110bc]
mov dword [0x100110c8], eax
mov dword [0x100110cc], ecx
mov al, byte [esp + 0x11]
sub esp, 0x10
mov ax, word [esp + 0x24]
mov byte [esp + 0x11f], 0
call section..text
movzx eax, ax
add esp, 0x10
mov di, ax
mov dword [esp + 0x7c], eax
mov word [esp + 0x38], di
test di, di
jle 0x1000c171
mov ax, word [0x1001100c]
mov cx, word [0x1001103c]
cwde
movsx ecx, cx
imul ecx, eax
movsx eax, byte [0x1001100a]
cdq
mov word [0x1001100c], cx
mov ecx, dword [0x100110c8]
mov esi, dword [0x100110cc]
xor ecx, eax
xor esi, edx
mov dword [0x100110c8], ecx
mov dword [0x100110cc], esi
jmp 0x1000c197
mov ax, word [0x1001108c]
xor ecx, ecx
test ax, ax
sete cl
movzx eax, cx
mov ecx, dword [0x10011098]
mov dword [esp + 0x78], eax
mov eax, dword [0x1001109c]
add dword [0x100110ac], ecx
mov eax, dword [esp + 0x90]
imul eax, dword [esp + 0xd4]
movzx edx, ax
mov eax, dword [esp + 0xd4]
movzx esi, ax
mov eax, dword [esp + 0x90]
sub esi, edx
mov ecx, dword [esp + 0x90]
add esi, 0x1ee
xor ecx, eax
movzx eax, cx
mov ecx, dword [esp + 0x90]
add ecx, dword [esp + 0x90]
imul ecx, esi
imul ecx, eax
mov eax, 0x74
mov word [esp + 0x1a6], ax
mov eax, dword [0x100110b8]
add ecx, 0x2e
or eax, dword [0x100110bc]
mov word [esp + 0x1a0], cx
jne 0x1000c210
mov eax, 1
xor ecx, ecx
jmp 0x1000c22a
xorps xmm0, xmm0
movlpd qword [esp + 0xb8], xmm0
mov ecx, dword [esp + 0xbc]
mov eax, dword [esp + 0xb8]
mov dword [0x100110b8], eax
imul eax, dword [0x100110e0], 0xb5
mov dword [0x100110bc], ecx
mov word [0x10011028], ax
mov eax, dword [esp + 0x164]
sub eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x164]
movzx eax, ax
imul ecx, eax
movzx eax, cx
mov ecx, dword [esp + 0xa0]
imul ecx, eax
mov eax, dword [esp + 0x98]
movzx edx, cx
mov ecx, dword [esp + 0x98]
xor ecx, eax
mov eax, dword [esp + 0xa0]
xor eax, ecx
mov ecx, dword [esp + 0xa0]
xor ecx, eax
sub ecx, edx
add ecx, 0x70
mov word [esp + 0x19e], cx
mov ecx, 0xcb
mov eax, dword [0x100110d0]
inc eax
mov dword [0x100110d0], eax
sub ecx, 1
jne 0x1000c2a4
mov eax, 0x64
mov word [esp + 0x198], ax
mov eax, dword [0x10011080]
sub byte [0x1001100f], al
cmp word [0x1001100c], cx
je 0x1000c2db
mov ecx, dword [esp + 0x60]
jmp 0x1000c2e5
movsx eax, word [0x10011028]
cdq
mov ecx, eax
mov esi, dword [0x10011018]
mov eax, 0x65
mov word [esp + 0x19a], ax
movsx eax, di
mov edi, dword [0x1001101c]
mov dword [esp + 0x98], eax
cdq
mov byte [esp + 0x11], cl
cmp edi, edx
jb 0x1000c31e
ja 0x1000c317
cmp esi, eax
jbe 0x1000c31e
mov ecx, 1
jmp 0x1000c320
xor ecx, ecx
test edi, edi
jne 0x1000c32d
cmp esi, 0x3d
ja 0x1000c32d
xor eax, eax
jmp 0x1000c332
mov eax, 1
cmp ecx, eax
jbe 0x1000c351
cmp dword [esp + 0x30], 0
mov eax, dword [0x100110a0]
jne 0x1000c349
movzx eax, word [0x10011088]
mov word [0x100110c0], ax
jmp 0x1000c3b3
cmp dword [0x10011060], 0x85
jne 0x1000c36d
cmp dword [0x10011064], 0
jne 0x1000c36d
mov edx, 1
jmp 0x1000c36f
xor edx, edx
movzx eax, byte [esp + 0x13]
xor ecx, ecx
cmp word [esp + 0x7c], cx
sete cl
cmp ecx, eax
sbb eax, eax
inc eax
cmp edx, eax
ja 0x1000c3b3
mov ecx, dword [esp + 0x84]
mov al, 0xa2
sub al, cl
xor ecx, ecx
add al, byte [esp + 0x18]
mov byte [esp + 0x18], al
mov eax, dword [esp + 0x70]
sub eax, 0x1dda013
mov dword [esp + 0x60], eax
sbb ecx, 0x6e75e
mov dword [esp + 0x64], ecx
mov eax, 0x74
sub esp, 0x30
mov word [esp + 0x1d2], ax
mov eax, dword [esp + 0x60]
call fcn.10001410
mov si, word [esp + 0x80]
xor edx, edx
add esp, 0x30
mov dword [0x10011010], eax
cmp eax, 1
sete dl
xor ecx, ecx
test eax, eax
sete cl
cmp ecx, edx
ja 0x1000c414
cmp word [esp + 0x7c], 0
jne 0x1000c414
movzx eax, si
cdq
sub dword [esp + 0x4c], eax
mov eax, dword [esp + 0xa8]
sbb dword [esp + 0x5c], edx
add eax, 0xffffb752
mov dword [0x10011084], eax
mov eax, 0x78
mov word [esp + 0x1a4], ax
mov eax, 0x65
mov word [esp + 0x19c], ax
movzx eax, byte [0x1001100e]
cdq
add eax, 0xa9
mov dword [esp + 0x68], eax
adc edx, 0
xor ecx, ecx
cmp byte [esp + 0x84], cl
mov dword [esp + 0x6c], edx
movzx eax, byte [esp + 0x18]
sete cl
xor ecx, eax
sub esp, 0x10
xor eax, eax
mov dword [0x100110e4], ecx
mov word [esp + 0x1b8], ax
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov eax, dword [0x100110e0]
call section..text
mov edi, dword [esp + 0xa8]
add esp, 0x10
mov word [0x1001108c], ax
cmp word [0x1001108c], 0
jne 0x1000c4b2
mov ax, word [0x1001103c]
mov ecx, 0x4196
add ax, cx
mov word [0x10011068], ax
jmp 0x1000c4d5
mov eax, 0xc4
xor ax, word [0x100110a8]
movzx eax, ax
cdq
mov dword [esp + 0x60], eax
lea eax, [edi + 0x95]
mov dword [esp + 0x64], edx
mov word [esp + 0x14], ax
movzx eax, si
mov esi, dword [0x100110c8]
mov ecx, dword [0x100110cc]
cdq
cmp ecx, edx
ja 0x1000c55e
jb 0x1000c4ef
cmp esi, eax
ja 0x1000c55e
mov al, byte [esp + 0x13]
call fcn.10002130
mov byte [0x1001100b], al
cmp byte [0x1001100b], 0
jne 0x1000c56d
cmp word [esp + 0x78], 0
je 0x1000c56d
movsx eax, word [0x100110c0]
imul eax, dword [esp + 0x3c]
movsx ecx, word [0x10011068]
push 0x7b623
push 0xd8940cfc
push dword [0x10011034]
and ecx, eax
movzx eax, byte [0x10011016]
push dword [0x10011030]
xor eax, 0x925147ec
imul ecx, eax
mov dword [esp + 0x4c], ecx
call fcn.1000f4d0
mov dword [0x100110b8], eax
mov dword [0x100110bc], edx
jmp 0x1000c56d
mov eax, dword [esp + 0x28]
add eax, 0x57c6
mov word [0x100110a8], ax
mov ax, word [0x10011058]
mov edx, dword [esp + 0xac]
neg ax
add dl, byte [esp + 0x74]
movzx eax, ax
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0xa8]
mov dword [0x10165e48], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x74]
xor cl, al
mov byte [esp + 0xf1], 0x74
movsx eax, dl
mov edx, dword [esp + 0x68]
movsx ecx, cl
add edx, 0x6321203a
imul ecx, eax
not edx
mov al, 0x45
sub al, cl
mov byte [esp + 0xef], al
mov eax, dword [esp + 0x6c]
mov eax, dword [0x100110a4]
xor eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x68]
sub edx, eax
mov eax, dword [esp + 0x6c]
sub edx, ecx
mov eax, dword [0x10011070]
or eax, dword [0x10011074]
mov dword [0x100110a0], edx
jne 0x1000c5f6
mov cl, 1
jmp 0x1000c5f8
xor cl, cl
cmp byte [0x1001100f], 0
mov al, byte [esp + 0x50]
sete dl
mov byte [esp + 0xf2], 0x72
not al
add dl, al
add dl, cl
mov ecx, 0xaa
not dl
mov byte [esp + 0x1f], dl
nop
mov eax, dword [esp + 0x58]
inc eax
mov dword [esp + 0x58], eax
sub ecx, 1
jne 0x1000c620
mov byte [esp + 0xee], 0x6c
mov esi, 0xffffa548
mov word [0x10011068], si
cmp edi, 0xffffa547
jne 0x1000c6ab
call fcn.10001950
mov byte [esp + 0x18], al
mov al, byte [esp + 0x18]
movzx ecx, word [0x1001108c]
movsx eax, byte [esp + 0x11]
cmp ecx, eax
jg 0x1000c686
movzx eax, word [0x100110a8]
cdq
mov dword [0x100119a0], eax
mov al, byte [0x10011084]
add al, 0x64
mov dword [0x100119a4], edx
mov byte [0x1001100b], al
cmp word [0x10011028], 1
jne 0x1000c6ab
movzx eax, byte [0x1001100b]
mov ecx, dword [0x100110a0]
xor ecx, eax
mov al, byte [0x1001100b]
sub al, cl
mov byte [0x1001100b], al
movzx eax, word [0x100110a8]
cdq
mov dword [0x10011050], eax
mov al, byte [0x1001100f]
shr al, 6
movzx eax, al
mov dword [0x10011054], edx
mov edx, 0x3cb
mov word [0x10011068], si
mov word [0x10011090], ax
mov ax, word [0x10011090]
add byte [0x1001100f], al
mov al, byte [esp + 0x12]
sub al, 0x7d
mov byte [esp + 0xf3], 0x79
mov byte [esp + 0x1e], al
nop dword [eax]
mov ecx, dword [0x10011098]
mov eax, dword [0x1001109c]
add cx, 4
mov word [0x10011090], cx
sub edx, 1
jne 0x1000c700
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0xb0]
xor dl, al
sub cl, byte [esp + 0x94]
movsx ecx, cl
movsx eax, dl
imul ecx, eax
mov byte [esp + 0xec], 0x44
add cl, 0x6c
mov byte [esp + 0xed], cl
mov ecx, dword [0x100110e8]
mov eax, dword [0x100110ec]
or ecx, eax
jne 0x1000c7d6
mov ecx, dword [0x100110c8]
mov eax, dword [0x100110cc]
add ecx, 0x73895a93
adc eax, 0
or ecx, eax
jne 0x1000c78a
mov ecx, dword [0x10011020]
mov eax, dword [0x10011024]
or ecx, eax
je 0x1000c7d6
mov esi, dword [esp + 0x28]
xor edx, edx
sub esi, dword [esp + 0x4c]
mov eax, dword [0x100110e8]
sbb edx, dword [esp + 0x5c]
not eax
mov ecx, dword [0x100110ec]
add esi, eax
not ecx
adc edx, ecx
or esi, edx
jne 0x1000c7b6
mov esi, 1
jmp 0x1000c7b8
xor esi, esi
movzx ecx, byte [esp + 0x18]
movzx eax, byte [esp + 0x18]
mov edx, dword [esp + 0x40]
sub ecx, eax
mov eax, dword [esp + 0x44]
add edx, ecx
not edx
add edx, esi
mov dword [esp + 0x34], edx
movzx eax, word [esp + 0x50]
not eax
mov byte [esp + 0xf0], 0x6e
cdq
cmp dword [0x10011004], edx
jg 0x1000c7fc
jl 0x1000c7f8
cmp dword [section..data], eax
jae 0x1000c7fc
mov al, byte [esp + 0x12]
movzx eax, byte [esp + 0x18]
mov esi, dword [0x100110d8]
mov ecx, dword [0x100110dc]
cdq
cmp edx, ecx
jl 0x1000c82e
jg 0x1000c818
cmp eax, esi
jb 0x1000c82e
movsx eax, byte [esp + 0x1f]
add eax, 0x46
cdq
mov dword [0x100110e8], eax
mov dword [0x100110ec], edx
jmp 0x1000c844
movzx eax, byte [0x10011016]
imul eax, dword [esp + 0x3c]
mov dword [esp + 0x3c], eax
add al, 0x75
mov byte [esp + 0x1e], al
mov si, word [esp + 0x50]
movsx eax, byte [0x1001100a]
movzx ecx, si
mov byte [esp + 0xf4], 0
cmp eax, ecx
je 0x1000c87f
mov eax, dword [esp + 0x70]
mov dword [0x100110d0], eax
mov ecx, dword [0x10011098]
mov eax, dword [0x1001109c]
mov eax, dword [esp + 0x58]
sub eax, ecx
mov dword [esp + 0x58], eax
jmp 0x1000c8e0
movzx eax, word [0x10011008]
mov edx, dword [esp + 0x34]
not eax
cmp edx, eax
jl 0x1000c8a7
mov ecx, dword [0x10011040]
mov eax, dword [0x10011044]
sub ecx, 0x28a1
mov dword [esp + 0x54], ecx
jmp 0x1000c8e0
mov eax, dword [esp + 0x28]
not eax
cmp dword [0x100110ac], eax
je 0x1000c8e0
movsx eax, word [0x100110c0]
xor ecx, ecx
test edx, edx
sete cl
xor ecx, eax
mov eax, dword [esp + 0x54]
sub eax, ecx
mov dword [0x1001101c], 0
imul eax, eax, 0x277ac361
mov dword [0x10011018], eax
push str.SHGetFolderPathW
lea eax, [esp + 0xfc]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [esp + 0x258]
push ecx
push 0
push 0
push 0x1a
push 0
call eax
test eax, eax
js 0x1000ea11
movzx eax, word [0x1001108c]
xor ecx, ecx
cmp dword [esp + 0x28], eax
setne cl
xor eax, eax
cmp dword [esp + 0x28], 0x45
setne al
cmp ecx, eax
ja 0x1000c960
mov edx, dword [0x100110a0]
movzx ecx, byte [esp + 0x12]
neg edx
movsx eax, byte [esp + 0x1f]
sbb edx, edx
imul ecx, dword [0x100110b8]
add eax, dword [0x10011084]
inc edx
not eax
add ecx, edx
imul eax, ecx
mov dword [0x10011038], eax
mov ecx, dword [0x100110c8]
mov eax, dword [0x100110cc]
or ecx, eax
jne 0x1000c976
mov ecx, 1
jmp 0x1000c978
xor ecx, ecx
mov eax, dword [0x100110e0]
neg eax
push str.PathAppendW
sbb eax, eax
inc eax
cmp ecx, eax
mov eax, dword [0x10011078]
sete byte [0x1001100f]
sub dword [0x100110b0], eax
lea eax, [esp + 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [esp + 0x198]
push ecx
lea ecx, [esp + 0x25c]
push ecx
call eax
mov ecx, dword [0x100110b0]
xor edx, edx
cmp ecx, dword [esp + 0x34]
setl dl
xor eax, eax
cmp ecx, 0x4f
setl al
cmp edx, eax
jbe 0x1000c9ee
movsx eax, byte [esp + 0x11]
add al, byte [0x100110a8]
mov byte [esp + 0x11], al
jmp 0x1000c9fd
movzx ecx, byte [esp + 0x13]
mov eax, dword [esp + 0x70]
add al, cl
mov byte [esp + 0x13], al
cmp dword [esp + 0x30], 0
jne 0x1000ca19
mov esi, dword [esp + 0x5c]
mov eax, dword [esp + 0x30]
call fcn.10001800
movzx eax, al
xor edx, edx
mov word [0x1001108c], ax
cmp word [0x1001108c], 0x5b
movzx eax, word [0x1001108c]
sete dl
xor ecx, ecx
test ax, ax
sete cl
cmp ecx, edx
jae 0x1000ea77
mov eax, dword [esp + 0x4c]
or eax, esi
je 0x1000ea6f
mov ax, word [0x100110c0]
mov ecx, 0x1485
sub ax, cx
mov word [esp + 0x14], ax
mov eax, 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
pop edi
mov eax, 1
pop esi
mov esp, ebp
pop ebp
ret 8