Function at 0x140017ef0
Capabilities:
Read file on windows
Validate payment card number using luhn algorithm
Write file on windows

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xe0
mov qword [rbp - 9], 0xfffffffffffffffe
mov qword [rsp + 0x120], rbx
mov rax, qword [0x14003c008]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov qword [rbp - 0x11], r9
mov qword [rbp - 0x19], r8
mov qword [rbp - 0x21], rdx
mov rcx, qword [0x1400401d8]
mov qword [rbp - 0x69], rcx
mov rax, qword [0x14003e190]
mov qword [0x140046558], rax
xor r14d, r14d
movzx eax, r14w
mov dword [rbp - 0x75], eax
mov eax, 1
movzx esi, ax
movzx eax, r14w
mov dword [rbp - 0x59], eax
mov ecx, dword [0x140041aa0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r13, rax
test rax, rax
jne 0x140017f82
mov eax, 4
jmp 0x14001adfe
mov ecx, dword [0x140041aa0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdi, rax
mov qword [rbp - 0x61], rax
test rax, rax
je 0x140017f78
mov r12, rax
mov qword [rbp - 0x29], rax
mov rcx, r14
lea r14, [0x140000000]
nop dword [rax + rax]
movzx eax, byte [rcx + r14 + 0x302d8]
mov byte [rbp + rcx - 1], al
lea rcx, [rcx + 1]
test al, al
jne 0x140017fb0
mov ecx, 0x10
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonLinkCtrl::XElementButtonLinkCtrl]
mov rbx, rax
mov qword [rbp - 0x49], rax
test rax, rax
mov r14d, 0
je 0x140018016
mov word [rax], r14w
mov qword [rax + 8], r14
lea rcx, [rbp - 1]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x140018019
inc eax
movsxd rcx, eax
call qword [sym.imp.mfc140u.dll_operator_1]
mov qword [rbx + 8], rax
lea rdx, [rbp - 1]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x140018019
mov rbx, r14
mov edx, 0xa
mov rcx, rbx
call fcn.14002a380
mov qword [rbp - 0x51], rax
test rax, rax
je 0x14001adfb
test rbx, rbx
je 0x140018054
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140018047
call qword [sym.imp.mfc140u.dll_operator]
mov edx, 0x10
mov rcx, rbx
call fcn.14002c9cc
mov rdx, r14
lea r14, str.tmpout.hlp
nop
movzx eax, byte [rdx + r14]
mov byte [rbp + rdx - 1], al
lea rdx, [rdx + 1]
test al, al
jne 0x140018060
mov ecx, 0x10
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonLinkCtrl::XElementButtonLinkCtrl]
mov rbx, rax
mov qword [rbp - 0x49], rax
test rax, rax
mov r14d, 0
je 0x1400180c2
mov word [rax], r14w
mov qword [rax + 8], r14
lea rcx, [rbp - 1]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x1400180c5
inc eax
movsxd rcx, eax
call qword [sym.imp.mfc140u.dll_operator_1]
mov qword [rbx + 8], rax
lea rdx, [rbp - 1]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x1400180c5
mov rbx, r14
mov edx, 0xb
mov rcx, rbx
call fcn.14002a380
mov qword [rbp - 0x49], rax
test rax, rax
je 0x14001adfb
mov rcx, rbx
call fcn.14002a780
xor edx, edx
mov word [0x14003dee4], dx
movzx ecx, word [0x1400400c8]
mov word [rbp - 0x7b], cx
mov ebx, operator
mov r11, qword [rbp - 0x69]
movzx r14d, word [rsp + 0x30]
movzx r15d, word [rsp + 0x34]
cmp cx, word [r11 + 0x80]
jge 0x14001a211
nop
mov eax, 1
mov word [0x1400400a4], ax
mov word [0x1400401d0], dx
movzx eax, dx
mov dword [rbp - 0x79], eax
mov word [rsp + 0x38], dx
mov word [0x14003e1a8], cx
movsx edx, cx
movzx eax, word [r11 + 0x82]
imul edx, eax
add edx, dword [r11 + 0x28]
xor r8d, r8d
mov rcx, qword [0x1400400a8]
call fcn.14002a520
cmp eax, 0xffffffff
je 0x14001adfb
mov rcx, qword [rbp - 0x69]
movzx r8d, word [rcx + 0x82]
mov rcx, qword [0x1400400a8]
xor eax, eax
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x41]
mov rdx, qword [0x140046558]
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x1400181cd
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x58
jae 0x1400181be
mov eax, eax
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x30680]
jmp 0x1400181c0
mov ecx, ebx
mov dword [0x140042de8], ecx
mov byte [0x1400433b0], 0
mov r11, qword [rbp - 0x69]
movzx eax, word [r11 + 0x82]
cmp dword [rbp - 0x41], eax
jne 0x14001adfb
movzx r12d, word [0x1400401d0]
add eax, eax
mov dword [rbp - 0x71], eax
movzx edi, word [0x1400400a4]
cmp di, ax
jge 0x14001a1a8
mov rbx, qword [0x140046558]
mov r9, qword [0x14003e1a0]
nop dword [rax]
movzx eax, di
sar ax, 1
movsx ecx, di
and ecx, 0x80000001
jge 0x140018228
dec ecx
or ecx, 0xfffffffe
inc ecx
movsx rax, ax
lea r8, [rax + rbx]
movzx edx, byte [r8]
movzx eax, dl
test ecx, ecx
jne 0x140018240
shr al, 4
jmp 0x140018242
and al, 0xf
mov r10d, dword [rbp - 0x79]
cmp al, 0xd
jae 0x14001a0eb
test r10w, r10w
jne 0x14001a0f5
test al, al
jne 0x14001a0cc
movsx rax, r12w
cmp rax, 0x100
jae 0x14001a1f7
lea rcx, [0x140046430]
mov byte [rax + rcx], r10b
lea r9, [rsp + 0x38]
movzx r8d, di
mov rdx, qword [0x14003e190]
mov rcx, r11
call fcn.140006780
lea edi, [rax + 1]
mov word [rbp - 0x7d], di
movzx ecx, di
sar cx, 1
movsx eax, di
and eax, 0x80000001
jge 0x1400182b1
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
movsx rax, cx
movzx ecx, byte [rax + rbx]
jne 0x1400182c2
shr cl, 4
jmp 0x1400182c5
and cl, 0xf
movzx r12d, cl
lea eax, [rdi + 1]
mov word [0x1400400a4], ax
mov word [0x1400401d0], r12w
movzx eax, word [rsp + 0x38]
mov word [0x1400403f0], ax
mov rcx, qword [rbp - 0x69]
call fcn.140006670
cmp ax, 1
jne 0x14001adfb
lea r8, [0x140046290]
lea rdx, [0x140046430]
call fcn.140006bf0
mov edi, 1
test si, si
je 0x14001849e
mov rbx, qword [rbp - 0x21]
mov r8, rbx
movzx edx, word [0x140041aa0]
mov rcx, r13
call fcn.140029e70
test ax, ax
jle 0x1400197c6
mov rcx, rbx
call fcn.14001af60
test ax, ax
je 0x140018399
movzx r8d, word [0x14003e1bc]
mov word [0x14003e1b0], r8w
movzx ecx, word [0x14003e170]
imul ecx, r8d
mov eax, 0x51eb851f
imul ecx
mov ecx, edx
sar ecx, 5
mov eax, ecx
shr eax, 0x1f
add ecx, eax
add cx, word [0x14003e16c]
mov word [0x14003e174], cx
lea rdx, [0x14003e1d0]
call qword [0x140041ab0]
test ax, ax
jne 0x14001a1c4
mov rax, qword [rbp - 0x61]
mov ecx, 0x20
mov dword [rax], ecx
xor edi, edi
mov r9, qword [rbp - 0x29]
mov qword [rbp - 0x61], r9
mov rax, r13
mov rdx, r9
movzx ecx, byte [r13 + 1]
or cl, byte [r13]
je 0x140017f78
movzx r8d, word [r9]
cmp word [rax], r8w
jne 0x1400183eb
mov rbx, rax
lea rdx, [rdx + 2]
movzx ecx, word [rdx]
test cx, cx
je 0x1400183fd
add rax, 2
cmp word [rax], cx
je 0x1400183d0
mov rax, rbx
mov rdx, r9
add rax, 2
movzx ecx, byte [rax + 1]
or cl, byte [rax]
je 0x140017f78
jmp 0x1400183c7
test rbx, rbx
je 0x140017f78
movzx ecx, di
mov r8, rbx
sub r8, r13
lea r9, [0x140045970]
test r8, r8
jle 0x140018435
mov rdx, rdi
nop
movzx eax, byte [rdx + r13]
mov byte [rdx + r9], al
inc cx
movsx rdx, cx
cmp rdx, r8
jl 0x140018420
movsx rax, cx
cmp rax, 0x800
jae 0x14001a1f1
mov byte [rax + r9], dil
lea eax, [rcx + 1]
movsx rax, ax
cmp rax, 0x800
jae 0x14001a1eb
mov byte [rax + r9], dil
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140029c70
test ax, ax
je 0x14001a1ce
movsx rcx, ax
add rcx, rbx
lea rdx, [rsp + 0x34]
call fcn.140029c70
test ax, ax
je 0x140017f78
mov esi, edi
movzx r14d, word [rsp + 0x30]
movzx r15d, word [rsp + 0x34]
lea rbx, [0x140045970]
mov rdx, rbx
lea rcx, [0x140046290]
call fcn.140006d50
test ax, ax
js 0x1400197c9
mov word [0x14004040a], r14w
mov ecx, 0x3fff
mov dword [0x14004040c], ecx
xor esi, esi
mov word [0x140040410], r15w
mov word [0x140040412], si
test ax, ax
jle 0x140018db6
mov eax, 1
mov word [0x14003dee4], ax
mov rcx, rbx
lea rbx, [0x140046190]
mov rdx, rbx
movzx eax, byte [rcx]
test al, al
jne 0x140018510
cmp byte [rcx + 1], sil
je 0x140018523
mov byte [rdx], al
movzx eax, byte [rcx + 1]
mov byte [rdx + 1], al
add rdx, 2
add rcx, 2
jmp 0x140018503
movzx eax, byte [rcx]
mov byte [rdx], al
movzx eax, byte [rcx + 1]
mov byte [rdx + 1], al
lea rdx, [0x14003c340]
mov rcx, rbx
nop dword [rax]
cmp byte [rcx], sil
jne 0x14001854b
cmp byte [rcx + 1], sil
je 0x140018551
add rcx, 2
jmp 0x140018540
movzx eax, byte [rdx]
test al, al
jne 0x14001855e
cmp byte [rdx + 1], sil
je 0x140018571
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140018551
mov word [rcx], si
movzx edx, r14w
movzx r8d, si
lea r11, [0x140046170]
nop dword [rax]
nop word [rax + rax]
movzx ecx, dx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
add cl, 0x30
movsx rax, r8w
mov byte [rax + r11], cl
inc r8w
test dx, dx
jne 0x140018590
movsx rax, r8w
mov byte [rax + r11], sil
movzx r10d, si
mov r9d, esi
mov rcx, r11
movzx eax, byte [0x140046170]
test al, al
je 0x1400185eb
nop dword [rax]
inc rcx
inc r9d
cmp byte [rcx], sil
jne 0x1400185e0
dec r9w
cmp si, r9w
jge 0x140018630
nop word [rax + rax]
movsx rdx, r10w
movzx r8d, byte [rdx + r11]
movsx rax, r9w
lea rcx, [rax + r11]
movzx eax, byte [rcx]
mov byte [rdx + r11], al
mov byte [rcx], r8b
inc r10w
dec r9w
cmp r10w, r9w
jl 0x140018600
movzx eax, byte [0x140046170]
lea rdi, [0x140046530]
mov rdx, rdi
mov r8, r11
test al, al
je 0x14001868d
mov ebx, 0x20
lea r11, [0x140000000]
nop dword [rax]
cmp al, 0x7f
ja 0x140018659
movzx ecx, al
jmp 0x14001866d
cmp al, 0xfe
ja 0x14001866b
movzx eax, al
movzx ecx, word [r11 + rax*2 + 0x30230]
jmp 0x14001866d
mov ecx, ebx
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x140018650
lea r11, [0x140046170]
lea rbx, [0x140046190]
mov word [rdx], si
mov rdx, rdi
mov rcx, rbx
cmp byte [rcx], sil
jne 0x1400186a1
cmp byte [rcx + 1], sil
je 0x1400186a7
add rcx, 2
jmp 0x140018696
movzx eax, byte [rdx]
test al, al
jne 0x1400186b4
cmp byte [rdx + 1], sil
je 0x1400186c7
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x1400186a7
mov word [rcx], si
lea rdx, [0x14003c340]
mov rcx, rbx
cmp byte [rcx], sil
jne 0x1400186df
cmp byte [rcx + 1], sil
je 0x1400186e5
add rcx, 2
jmp 0x1400186d4
movzx eax, byte [rdx]
test al, al
jne 0x1400186f2
cmp byte [rdx + 1], sil
je 0x140018705
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x1400186e5
mov word [rcx], si
mov edx, 0x3fff
movzx r8d, si
movzx ecx, dx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
add cl, 0x30
movsx rax, r8w
mov byte [rax + r11], cl
inc r8w
test dx, dx
jne 0x140018711
movsx rax, r8w
mov byte [rax + r11], sil
movzx r10d, si
mov r9d, esi
mov rcx, r11
movzx eax, byte [0x140046170]
test al, al
je 0x14001876b
nop dword [rax]
inc rcx
inc r9d
cmp byte [rcx], sil
jne 0x140018760
dec r9w
cmp si, r9w
jge 0x1400187b0
nop word [rax + rax]
movsx rdx, r10w
movzx r8d, byte [rdx + r11]
movsx rax, r9w
lea rcx, [rax + r11]
movzx eax, byte [rcx]
mov byte [rdx + r11], al
mov byte [rcx], r8b
inc r10w
dec r9w
cmp r10w, r9w
jl 0x140018780
movzx eax, byte [0x140046170]
mov rdx, rdi
mov r8, r11
test al, al
je 0x140018803
mov ebx, 0x20
lea r11, [0x140000000]
cmp al, 0x7f
ja 0x1400187cf
movzx ecx, al
jmp 0x1400187e3
cmp al, 0xfe
ja 0x1400187e1
movzx eax, al
movzx ecx, word [r11 + rax*2 + 0x30230]
jmp 0x1400187e3
mov ecx, ebx
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x1400187c6
lea r11, [0x140046170]
lea rbx, [0x140046190]
mov word [rdx], si
mov rdx, rdi
mov rcx, rbx
nop dword [rax]
cmp byte [rcx], sil
jne 0x14001881b
cmp byte [rcx + 1], sil
je 0x140018821
add rcx, 2
jmp 0x140018810
movzx eax, byte [rdx]
test al, al
jne 0x14001882e
cmp byte [rdx + 1], sil
je 0x140018841
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140018821
mov word [rcx], si
lea rdx, [0x14003c340]
mov rcx, rbx
nop
cmp byte [rcx], sil
jne 0x14001885b
cmp byte [rcx + 1], sil
je 0x140018861
add rcx, 2
jmp 0x140018850
movzx eax, byte [rdx]
test al, al
jne 0x14001886e
cmp byte [rdx + 1], sil
je 0x140018881
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140018861
mov word [rcx], si
movzx edx, si
movzx r8d, si
nop dword [rax + rax]
movzx ecx, dx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
add cl, 0x30
movsx rax, r8w
mov byte [rax + r11], cl
inc r8w
test dx, dx
jne 0x140018890
movsx rax, r8w
mov byte [rax + r11], sil
movzx r10d, si
mov r9d, esi
mov rcx, r11
movzx eax, byte [0x140046170]
test al, al
je 0x1400188eb
nop dword [rax]
inc rcx
inc r9d
cmp byte [rcx], sil
jne 0x1400188e0
dec r9w
cmp si, r9w
jge 0x140018930
nop word [rax + rax]
movsx rdx, r10w
movzx r8d, byte [rdx + r11]
movsx rax, r9w
lea rcx, [rax + r11]
movzx eax, byte [rcx]
mov byte [rdx + r11], al
mov byte [rcx], r8b
inc r10w
dec r9w
cmp r10w, r9w
jl 0x140018900
movzx eax, byte [0x140046170]
mov rdx, rdi
mov r8, r11
test al, al
je 0x140018983
mov ebx, 0x20
lea r11, [0x140000000]
cmp al, 0x7f
ja 0x14001894f
movzx ecx, al
jmp 0x140018963
cmp al, 0xfe
ja 0x140018961
movzx eax, al
movzx ecx, word [r11 + rax*2 + 0x30230]
jmp 0x140018963
mov ecx, ebx
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x140018946
lea r11, [0x140046170]
lea rbx, [0x140046190]
mov word [rdx], si
mov rdx, rdi
mov rcx, rbx
nop dword [rax]
cmp byte [rcx], sil
jne 0x14001899b
cmp byte [rcx + 1], sil
je 0x1400189a1
add rcx, 2
jmp 0x140018990
movzx eax, byte [rdx]
test al, al
jne 0x1400189ae
cmp byte [rdx + 1], sil
je 0x1400189c1
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x1400189a1
mov word [rcx], si
lea rdx, [0x14003c340]
mov rcx, rbx
nop
cmp byte [rcx], sil
jne 0x1400189db
cmp byte [rcx + 1], sil
je 0x1400189e1
add rcx, 2
jmp 0x1400189d0
movzx eax, byte [rdx]
test al, al
jne 0x1400189ee
cmp byte [rdx + 1], sil
je 0x140018a01
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x1400189e1
mov word [rcx], si
movzx edx, r15w
movzx r8d, si
nop dword [rax]
movzx ecx, dx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
add cl, 0x30
movsx rax, r8w
mov byte [rax + r11], cl
inc r8w
test dx, dx
jne 0x140018a10
movsx rax, r8w
mov byte [rax + r11], sil
movzx r10d, si
mov r9d, esi
mov rcx, r11
movzx eax, byte [0x140046170]
test al, al
je 0x140018a6b
nop dword [rax]
inc rcx
inc r9d
cmp byte [rcx], sil
jne 0x140018a60
dec r9w
cmp si, r9w
jge 0x140018ab0
nop word [rax + rax]
movsx rdx, r10w
movzx r8d, byte [rdx + r11]
movsx rax, r9w
lea rcx, [rax + r11]
movzx eax, byte [rcx]
mov byte [rdx + r11], al
mov byte [rcx], r8b
inc r10w
dec r9w
cmp r10w, r9w
jl 0x140018a80
movzx eax, byte [0x140046170]
mov rdx, rdi
mov r8, r11
test al, al
je 0x140018b03
mov ebx, 0x20
lea r11, [0x140000000]
cmp al, 0x7f
ja 0x140018acf
movzx ecx, al
jmp 0x140018ae3
cmp al, 0xfe
ja 0x140018ae1
movzx eax, al
movzx ecx, word [r11 + rax*2 + 0x30230]
jmp 0x140018ae3
mov ecx, ebx
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x140018ac6
lea r11, [0x140046170]
lea rbx, [0x140046190]
mov word [rdx], si
mov rdx, rdi
mov rcx, rbx
nop dword [rax]
cmp byte [rcx], sil
jne 0x140018b1b
cmp byte [rcx + 1], sil
je 0x140018b21
add rcx, 2
jmp 0x140018b10
movzx eax, byte [rdx]
test al, al
jne 0x140018b2e
cmp byte [rdx + 1], sil
je 0x140018b41
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140018b21
mov word [rcx], si
lea rdx, [0x14003c340]
mov rcx, rbx
nop
cmp byte [rcx], sil
jne 0x140018b5b
cmp byte [rcx + 1], sil
je 0x140018b61
add rcx, 2
jmp 0x140018b50
movzx eax, byte [rdx]
test al, al
jne 0x140018b6e
cmp byte [rdx + 1], sil
je 0x140018b81
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140018b61
mov word [rcx], si
movzx edx, si
movzx r8d, si
nop dword [rax + rax]
movzx ecx, dx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
add cl, 0x30
movsx rax, r8w
mov byte [rax + r11], cl
inc r8w
test dx, dx
jne 0x140018b90
movsx rax, r8w
mov byte [rax + r11], sil
movzx r10d, si
mov r9d, esi
mov rcx, r11
movzx eax, byte [0x140046170]
test al, al
je 0x140018beb
nop dword [rax]
inc rcx
inc r9d
cmp byte [rcx], sil
jne 0x140018be0
dec r9w
cmp si, r9w
jge 0x140018c30
nop word [rax + rax]
movsx rdx, r10w
movzx r8d, byte [rdx + r11]
movsx rax, r9w
lea rcx, [rax + r11]
movzx eax, byte [rcx]
mov byte [rdx + r11], al
mov byte [rcx], r8b
inc r10w
dec r9w
cmp r10w, r9w
jl 0x140018c00
movzx eax, byte [0x140046170]
mov rdx, rdi
mov r8, r11
test al, al
je 0x140018c7d
mov ebx, 0x20
lea rsi, [0x140000000]
cmp al, 0x7f
ja 0x140018c4f
movzx ecx, al
jmp 0x140018c62
cmp al, 0xfe
ja 0x140018c60
movzx eax, al
movzx ecx, word [rsi + rax*2 + 0x30230]
jmp 0x140018c62
mov ecx, ebx
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x140018c46
xor esi, esi
lea rbx, [0x140046190]
mov word [rdx], si
mov rdx, rdi
mov rcx, rbx
cmp byte [rcx], 0
jne 0x140018c91
cmp byte [rcx + 1], 0
je 0x140018c97
add rcx, 2
jmp 0x140018c86
movzx eax, byte [rdx]
test al, al
jne 0x140018ca3
cmp byte [rdx + 1], al
je 0x140018cb6
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140018c97
mov word [rcx], 0
lea rdx, [0x14003c344]
mov rcx, rbx
cmp byte [rcx], 0
jne 0x140018cd0
cmp byte [rcx + 1], 0
je 0x140018cd6
add rcx, 2
jmp 0x140018cc5
movzx eax, byte [rdx]
test al, al
jne 0x140018ce2
cmp byte [rdx + 1], al
je 0x140018cf5
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140018cd6
mov word [rcx], 0
mov rax, rbx
mov ecx, esi
nop
cmp byte [rax], 0
jne 0x140018d0b
cmp byte [rax + 1], 0
je 0x140018d13
add rax, 2
inc ecx
jmp 0x140018d00
lea edi, [rcx + rcx]
mov rcx, rsi
movsxd rbx, edi
lea rdx, [0x140046190]
test edi, edi
jle 0x140018d3b
nop word [rax + rax]
not byte [rcx + rdx]
inc rcx
cmp rcx, rbx
jl 0x140018d30
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 0x3d]
mov r8d, edi
mov rax, qword [rbp - 0x51]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x140018d87
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x58
jae 0x140018d75
mov eax, eax
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x30680]
jmp 0x140018d7a
mov ecx, operator
mov dword [0x140042de8], ecx
mov byte [0x1400433b0], 0
mov rcx, rsi
test edi, edi
jle 0x140018da0
lea rdx, [0x140046190]
not byte [rcx + rdx]
inc rcx
cmp rcx, rbx
jl 0x140018d95
cmp dword [rbp - 0x3d], edi
jne 0x14001adfb
mov edi, 1
movzx esi, di
jmp 0x140018312
cmp r14w, word [0x140040400]
jne 0x140018ee9
cmp r15w, word [0x140040406]
jne 0x140018ee9
mov word [rsp + 0x20], r15w
movzx r9d, r14w
lea rdi, [0x140046360]
mov rdx, rdi
mov rcx, rbx
call fcn.14000a030
lea rdx, [0x14003c344]
mov rcx, rdi
cmp byte [rcx], sil
jne 0x140018e03
cmp byte [rcx + 1], sil
je 0x140018e10
add rcx, 2
jmp 0x140018df8
movzx eax, byte [rdx]
test al, al
jne 0x140018e1d
cmp byte [rdx + 1], sil
je 0x140018e30
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140018e10
mov word [rcx], si
mov rax, rdi
mov ecx, esi
cmp byte [rax], sil
jne 0x140018e43
cmp byte [rax + 1], sil
je 0x140018e4b
add rax, 2
inc ecx
jmp 0x140018e38
add cx, cx
mov word [0x14003e1c4], cx
movsx r8, cx
mov rcx, rsi
mov rbx, r8
test r8d, r8d
jle 0x140018e6f
not byte [rcx + rdi]
inc rcx
cmp rcx, rbx
jl 0x140018e64
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 0x39]
mov rdx, rdi
mov rax, qword [rbp - 0x49]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x140018ebb
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x58
jae 0x140018ea9
mov eax, eax
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x30680]
jmp 0x140018eae
mov ecx, operator
mov dword [0x140042de8], ecx
mov byte [0x1400433b0], sil
mov rcx, rsi
test rbx, rbx
jle 0x140018ece
not byte [rcx + rdi]
inc rcx
cmp rcx, rbx
jl 0x140018ec3
movsx eax, word [0x14003e1c4]
cmp dword [rbp - 0x39], eax
jne 0x14001adfb
mov rax, qword [rbp - 0x19]
inc dword [rax]
jmp 0x1400197b9
mov eax, 1
mov word [0x14003dee4], ax
cmp cx, word [0x140040402]
jne 0x140018f0a
cmp si, word [0x140040404]
jne 0x140018f0a
mov dword [rbp - 0x75], eax
mov rcx, rbx
lea rbx, [0x140046190]
mov rdx, rbx
movzx eax, byte [rcx]
test al, al
jne 0x140018f24
cmp byte [rcx + 1], sil
je 0x140018f37
mov byte [rdx], al
movzx eax, byte [rcx + 1]
mov byte [rdx + 1], al
add rdx, 2
add rcx, 2
jmp 0x140018f17
movzx eax, byte [rcx]
mov byte [rdx], al
movzx eax, byte [rcx + 1]
mov byte [rdx + 1], al
lea rdx, [0x14003c340]
mov rcx, rbx
nop dword [rax]
cmp byte [rcx], sil
jne 0x140018f5b
cmp byte [rcx + 1], sil
je 0x140018f61
add rcx, 2
jmp 0x140018f50
movzx eax, byte [rdx]
test al, al
jne 0x140018f6e
cmp byte [rdx + 1], sil
je 0x140018f81
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140018f61
mov word [rcx], si
movzx edx, r14w
movzx r8d, si
lea r11, [0x140046170]
nop dword [rax]
nop word [rax + rax]
movzx ecx, dx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
add cl, 0x30
movsx rax, r8w
mov byte [rax + r11], cl
inc r8w
test dx, dx
jne 0x140018fa0
movsx rax, r8w
mov byte [rax + r11], sil
movzx r10d, si
mov r9d, esi
mov rcx, r11
movzx eax, byte [0x140046170]
test al, al
je 0x140018ffb
nop dword [rax]
inc rcx
inc r9d
cmp byte [rcx], sil
jne 0x140018ff0
dec r9w
cmp si, r9w
jge 0x140019040
nop word [rax + rax]
movsx rdx, r10w
movzx r8d, byte [rdx + r11]
movsx rax, r9w
lea rcx, [rax + r11]
movzx eax, byte [rcx]
mov byte [rdx + r11], al
mov byte [rcx], r8b
inc r10w
dec r9w
cmp r10w, r9w
jl 0x140019010
movzx eax, byte [0x140046170]
lea rdi, [0x140046530]
mov rdx, rdi
mov r8, r11
test al, al
je 0x14001909d
mov ebx, 0x20
lea r11, [0x140000000]
nop dword [rax]
cmp al, 0x7f
ja 0x140019069
movzx ecx, al
jmp 0x14001907d
cmp al, 0xfe
ja 0x14001907b
movzx eax, al
movzx ecx, word [r11 + rax*2 + 0x30230]
jmp 0x14001907d
mov ecx, ebx
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x140019060
lea r11, [0x140046170]
lea rbx, [0x140046190]
mov word [rdx], si
mov rdx, rdi
mov rcx, rbx
cmp byte [rcx], sil
jne 0x1400190b1
cmp byte [rcx + 1], sil
je 0x1400190b7
add rcx, 2
jmp 0x1400190a6
movzx eax, byte [rdx]
test al, al
jne 0x1400190c4
cmp byte [rdx + 1], sil
je 0x1400190d7
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x1400190b7
mov word [rcx], si
lea rdx, [0x14003c340]
mov rcx, rbx
cmp byte [rcx], sil
jne 0x1400190ef
cmp byte [rcx + 1], sil
je 0x1400190f5
add rcx, 2
jmp 0x1400190e4
movzx eax, byte [rdx]
test al, al
jne 0x140019102
cmp byte [rdx + 1], sil
je 0x140019115
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x1400190f5
mov word [rcx], si
mov edx, 0x3fff
movzx r8d, si
movzx ecx, dx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
add cl, 0x30
movsx rax, r8w
mov byte [rax + r11], cl
inc r8w
test dx, dx
jne 0x140019121
movsx rax, r8w
mov byte [rax + r11], sil
movzx r10d, si
mov r9d, esi
mov rcx, r11
movzx eax, byte [0x140046170]
test al, al
je 0x14001917b
nop dword [rax]
inc rcx
inc r9d
cmp byte [rcx], sil
jne 0x140019170
dec r9w
cmp si, r9w
jge 0x1400191c0
nop word [rax + rax]
movsx rdx, r10w
movzx r8d, byte [rdx + r11]
movsx rax, r9w
lea rcx, [rax + r11]
movzx eax, byte [rcx]
mov byte [rdx + r11], al
mov byte [rcx], r8b
inc r10w
dec r9w
cmp r10w, r9w
jl 0x140019190
movzx eax, byte [0x140046170]
mov rdx, rdi
mov r8, r11
test al, al
je 0x140019213
mov ebx, 0x20
lea r11, [0x140000000]
cmp al, 0x7f
ja 0x1400191df
movzx ecx, al
jmp 0x1400191f3
cmp al, 0xfe
ja 0x1400191f1
movzx eax, al
movzx ecx, word [r11 + rax*2 + 0x30230]
jmp 0x1400191f3
mov ecx, ebx
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x1400191d6
lea r11, [0x140046170]
lea rbx, [0x140046190]
mov word [rdx], si
mov rdx, rdi
mov rcx, rbx
nop dword [rax]
cmp byte [rcx], sil
jne 0x14001922b
cmp byte [rcx + 1], sil
je 0x140019231
add rcx, 2
jmp 0x140019220
movzx eax, byte [rdx]
test al, al
jne 0x14001923e
cmp byte [rdx + 1], sil
je 0x140019251
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140019231
mov word [rcx], si
lea rdx, [0x14003c340]
mov rcx, rbx
nop
cmp byte [rcx], sil
jne 0x14001926b
cmp byte [rcx + 1], sil
je 0x140019271
add rcx, 2
jmp 0x140019260
movzx eax, byte [rdx]
test al, al
jne 0x14001927e
cmp byte [rdx + 1], sil
je 0x140019291
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140019271
mov word [rcx], si
movzx edx, si
movzx r8d, si
nop dword [rax + rax]
movzx ecx, dx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
add cl, 0x30
movsx rax, r8w
mov byte [rax + r11], cl
inc r8w
test dx, dx
jne 0x1400192a0
movsx rax, r8w
mov byte [rax + r11], sil
movzx r10d, si
mov r9d, esi
mov rcx, r11
movzx eax, byte [0x140046170]
test al, al
je 0x1400192fb
nop dword [rax]
inc rcx
inc r9d
cmp byte [rcx], sil
jne 0x1400192f0
dec r9w
cmp si, r9w
jge 0x140019340
nop word [rax + rax]
movsx rdx, r10w
movzx r8d, byte [rdx + r11]
movsx rax, r9w
lea rcx, [rax + r11]
movzx eax, byte [rcx]
mov byte [rdx + r11], al
mov byte [rcx], r8b
inc r10w
dec r9w
cmp r10w, r9w
jl 0x140019310
movzx eax, byte [0x140046170]
mov rdx, rdi
mov r8, r11
test al, al
je 0x140019393
mov ebx, 0x20
lea r11, [0x140000000]
cmp al, 0x7f
ja 0x14001935f
movzx ecx, al
jmp 0x140019373
cmp al, 0xfe
ja 0x140019371
movzx eax, al
movzx ecx, word [r11 + rax*2 + 0x30230]
jmp 0x140019373
mov ecx, ebx
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x140019356
lea r11, [0x140046170]
lea rbx, [0x140046190]
mov word [rdx], si
mov rdx, rdi
mov rcx, rbx
nop dword [rax]
cmp byte [rcx], sil
jne 0x1400193ab
cmp byte [rcx + 1], sil
je 0x1400193b1
add rcx, 2
jmp 0x1400193a0
movzx eax, byte [rdx]
test al, al
jne 0x1400193be
cmp byte [rdx + 1], sil
je 0x1400193d1
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x1400193b1
mov word [rcx], si
lea rdx, [0x14003c340]
mov rcx, rbx
nop
cmp byte [rcx], sil
jne 0x1400193eb
cmp byte [rcx + 1], sil
je 0x1400193f1
add rcx, 2
jmp 0x1400193e0
movzx eax, byte [rdx]
test al, al
jne 0x1400193fe
cmp byte [rdx + 1], sil
je 0x140019411
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x1400193f1
mov word [rcx], si
movzx edx, r15w
movzx r8d, si
nop dword [rax]
movzx ecx, dx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
add cl, 0x30
movsx rax, r8w
mov byte [rax + r11], cl
inc r8w
test dx, dx
jne 0x140019420
movsx rax, r8w
mov byte [rax + r11], sil
movzx r10d, si
mov r9d, esi
mov rcx, r11
movzx eax, byte [0x140046170]
test al, al
je 0x14001947b
nop dword [rax]
inc rcx
inc r9d
cmp byte [rcx], sil
jne 0x140019470
dec r9w
cmp si, r9w
jge 0x1400194c0
nop word [rax + rax]
movsx rdx, r10w
movzx r8d, byte [rdx + r11]
movsx rax, r9w
lea rcx, [rax + r11]
movzx eax, byte [rcx]
mov byte [rdx + r11], al
mov byte [rcx], r8b
inc r10w
dec r9w
cmp r10w, r9w
jl 0x140019490
movzx eax, byte [0x140046170]
mov rdx, rdi
mov r8, r11
test al, al
je 0x140019513
mov ebx, 0x20
lea r11, [0x140000000]
cmp al, 0x7f
ja 0x1400194df
movzx ecx, al
jmp 0x1400194f3
cmp al, 0xfe
ja 0x1400194f1
movzx eax, al
movzx ecx, word [r11 + rax*2 + 0x30230]
jmp 0x1400194f3
mov ecx, ebx
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x1400194d6
lea r11, [0x140046170]
lea rbx, [0x140046190]
mov word [rdx], si
mov rdx, rdi
mov rcx, rbx
nop dword [rax]
cmp byte [rcx], sil
jne 0x14001952b
cmp byte [rcx + 1], sil
je 0x140019531
add rcx, 2
jmp 0x140019520
movzx eax, byte [rdx]
test al, al
jne 0x14001953e
cmp byte [rdx + 1], sil
je 0x140019551
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140019531
mov word [rcx], si
lea rdx, [0x14003c340]
mov rcx, rbx
nop
cmp byte [rcx], sil
jne 0x14001956b
cmp byte [rcx + 1], sil
je 0x140019571
add rcx, 2
jmp 0x140019560
movzx eax, byte [rdx]
test al, al
jne 0x14001957e
cmp byte [rdx + 1], sil
je 0x140019591
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140019571
mov word [rcx], si
movzx edx, si
movzx r8d, si
nop dword [rax + rax]
movzx ecx, dx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
add cl, 0x30
movsx rax, r8w
mov byte [rax + r11], cl
inc r8w
test dx, dx
jne 0x1400195a0
movsx rax, r8w
mov byte [rax + r11], sil
movzx r10d, si
mov r9d, esi
mov rcx, r11
movzx eax, byte [0x140046170]
test al, al
je 0x1400195fb
nop dword [rax]
inc rcx
inc r9d
cmp byte [rcx], sil
jne 0x1400195f0
dec r9w
cmp si, r9w
jge 0x140019640
nop word [rax + rax]
movsx rdx, r10w
movzx r8d, byte [rdx + r11]
movsx rax, r9w
lea rcx, [rax + r11]
movzx eax, byte [rcx]
mov byte [rdx + r11], al
mov byte [rcx], r8b
inc r10w
dec r9w
cmp r10w, r9w
jl 0x140019610
movzx eax, byte [0x140046170]
mov rdx, rdi
mov r8, r11
test al, al
je 0x14001968d
mov ebx, 0x20
lea rsi, [0x140000000]
cmp al, 0x7f
ja 0x14001965f
movzx ecx, al
jmp 0x140019672
cmp al, 0xfe
ja 0x140019670
movzx eax, al
movzx ecx, word [rsi + rax*2 + 0x30230]
jmp 0x140019672
mov ecx, ebx
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x140019656
xor esi, esi
lea rbx, [0x140046190]
mov word [rdx], si
mov rdx, rdi
mov rcx, rbx
cmp byte [rcx], 0
jne 0x1400196a1
cmp byte [rcx + 1], 0
je 0x1400196a7
add rcx, 2
jmp 0x140019696
movzx eax, byte [rdx]
test al, al
jne 0x1400196b3
cmp byte [rdx + 1], al
je 0x1400196c6
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x1400196a7
mov word [rcx], 0
lea rdx, [0x14003c344]
mov rcx, rbx
cmp byte [rcx], 0
jne 0x1400196e0
cmp byte [rcx + 1], 0
je 0x1400196e6
add rcx, 2
jmp 0x1400196d5
movzx eax, byte [rdx]
test al, al
jne 0x1400196f2
cmp byte [rdx + 1], al
je 0x140019705
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x1400196e6
mov word [rcx], 0
mov rax, rbx
mov ecx, esi
nop
cmp byte [rax], 0
jne 0x14001971b
cmp byte [rax + 1], 0
je 0x140019723
add rax, 2
inc ecx
jmp 0x140019710
lea edi, [rcx + rcx]
mov rcx, rsi
movsxd rbx, edi
lea rdx, [0x140046190]
test edi, edi
jle 0x14001974b
nop word [rax + rax]
not byte [rcx + rdx]
inc rcx
cmp rcx, rbx
jl 0x140019740
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 0x35]
mov r8d, edi
mov rax, qword [rbp - 0x51]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x140019797
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x58
jae 0x140019785
mov eax, eax
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x30680]
jmp 0x14001978a
mov ecx, operator
mov dword [0x140042de8], ecx
mov byte [0x1400433b0], 0
mov rcx, rsi
test edi, edi
jle 0x1400197b0
lea rdx, [0x140046190]
not byte [rcx + rdx]
inc rcx
cmp rcx, rbx
jl 0x1400197a5
cmp dword [rbp - 0x35], edi
jne 0x14001adfb
mov edi, 1
movzx esi, di
jmp 0x140018312
mov dword [rbp - 0x59], edi
mov eax, dword [rbp - 0x75]
test ax, ax
jne 0x14001a0ac
lea rcx, [0x140046290]
lea rdi, [0x140046190]
mov rdx, rdi
movzx eax, byte [rcx]
test al, al
jne 0x1400197f2
cmp byte [rcx + 1], al
je 0x140019805
mov byte [rdx], al
movzx eax, byte [rcx + 1]
mov byte [rdx + 1], al
add rdx, 2
add rcx, 2
jmp 0x1400197e6
movzx eax, byte [rcx]
mov byte [rdx], al
movzx eax, byte [rcx + 1]
mov byte [rdx + 1], al
lea rdx, [0x14003c340]
mov rcx, rdi
nop dword [rax + rax]
cmp byte [rcx], 0
jne 0x14001982b
cmp byte [rcx + 1], 0
je 0x140019831
add rcx, 2
jmp 0x140019820
movzx eax, byte [rdx]
test al, al
jne 0x14001983d
cmp byte [rdx + 1], al
je 0x140019850
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140019831
mov word [rcx], 0
movzx edx, word [0x140040400]
xor ebx, ebx
movzx r8d, bx
lea r11, [0x140046170]
nop dword [rax]
movzx ecx, dx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
add cl, 0x30
movsx rax, r8w
mov byte [rax + r11], cl
inc r8w
test dx, dx
jne 0x140019870
movsx rax, r8w
mov byte [rax + r11], bl
movzx r10d, bx
mov r9d, ebx
mov rcx, r11
movzx eax, byte [0x140046170]
test al, al
je 0x1400198ca
nop dword [rax]
inc rcx
inc r9d
cmp byte [rcx], bl
jne 0x1400198c0
dec r9w
cmp bx, r9w
jge 0x140019910
nop dword [rax]
nop dword [rax + rax]
movsx rdx, r10w
movzx r8d, byte [rdx + r11]
movsx rax, r9w
lea rcx, [rax + r11]
movzx eax, byte [rcx]
mov byte [rdx + r11], al
mov byte [rcx], r8b
inc r10w
dec r9w
cmp r10w, r9w
jl 0x1400198e0
movzx eax, byte [0x140046170]
lea r9, [0x140046530]
mov rdx, r9
mov r8, r11
test al, al
je 0x14001996d
mov edi, 0x20
lea r11, [0x140000000]
nop dword [rax]
cmp al, 0x7f
ja 0x140019939
movzx ecx, al
jmp 0x14001994d
cmp al, 0xfe
ja 0x14001994b
movzx eax, al
movzx ecx, word [r11 + rax*2 + 0x30230]
jmp 0x14001994d
mov ecx, edi
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x140019930
lea r11, [0x140046170]
lea rdi, [0x140046190]
mov word [rdx], bx
mov rdx, r9
mov rcx, rdi
cmp byte [rcx], bl
jne 0x14001997f
cmp byte [rcx + 1], bl
je 0x140019985
add rcx, 2
jmp 0x140019976
movzx eax, byte [rdx]
test al, al
jne 0x140019991
cmp byte [rdx + 1], bl
je 0x1400199a4
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140019985
mov word [rcx], bx
lea rdx, [0x14003c340]
mov rcx, rdi
cmp byte [rcx], bl
jne 0x1400199ba
cmp byte [rcx + 1], bl
je 0x1400199c0
add rcx, 2
jmp 0x1400199b1
movzx eax, byte [rdx]
test al, al
jne 0x1400199cc
cmp byte [rdx + 1], bl
je 0x1400199df
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x1400199c0
mov word [rcx], bx
movzx edx, word [0x140040402]
movzx r8d, bx
nop dword [rax]
movzx ecx, dx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
add cl, 0x30
movsx rax, r8w
mov byte [rax + r11], cl
inc r8w
test dx, dx
jne 0x1400199f0
movsx rax, r8w
mov byte [rax + r11], bl
movzx r10d, bx
mov r9d, ebx
mov rcx, r11
movzx eax, byte [0x140046170]
test al, al
je 0x140019a4a
nop dword [rax]
inc rcx
inc r9d
cmp byte [rcx], bl
jne 0x140019a40
dec r9w
cmp bx, r9w
jge 0x140019a90
nop dword [rax]
nop dword [rax + rax]
movsx rdx, r10w
movzx r8d, byte [rdx + r11]
movsx rax, r9w
lea rcx, [rax + r11]
movzx eax, byte [rcx]
mov byte [rdx + r11], al
mov byte [rcx], r8b
inc r10w
dec r9w
cmp r10w, r9w
jl 0x140019a60
movzx eax, byte [0x140046170]
lea r9, [0x140046530]
mov rdx, r9
mov r8, r11
test al, al
je 0x140019aed
mov edi, 0x20
lea r11, [0x140000000]
nop dword [rax]
cmp al, 0x7f
ja 0x140019ab9
movzx ecx, al
jmp 0x140019acd
cmp al, 0xfe
ja 0x140019acb
movzx eax, al
movzx ecx, word [r11 + rax*2 + 0x30230]
jmp 0x140019acd
mov ecx, edi
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x140019ab0
lea r11, [0x140046170]
lea rdi, [0x140046190]
mov word [rdx], bx
mov rdx, r9
mov rcx, rdi
cmp byte [rcx], bl
jne 0x140019aff
cmp byte [rcx + 1], bl
je 0x140019b05
add rcx, 2
jmp 0x140019af6
movzx eax, byte [rdx]
test al, al
jne 0x140019b11
cmp byte [rdx + 1], bl
je 0x140019b24
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140019b05
mov word [rcx], bx
lea rdx, [0x14003c340]
mov rcx, rdi
cmp byte [rcx], bl
jne 0x140019b3a
cmp byte [rcx + 1], bl
je 0x140019b40
add rcx, 2
jmp 0x140019b31
movzx eax, byte [rdx]
test al, al
jne 0x140019b4c
cmp byte [rdx + 1], bl
je 0x140019b5f
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140019b40
mov word [rcx], bx
movzx edx, word [0x140040404]
movzx r8d, bx
nop dword [rax]
movzx ecx, dx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
add cl, 0x30
movsx rax, r8w
mov byte [rax + r11], cl
inc r8w
test dx, dx
jne 0x140019b70
movsx rax, r8w
mov byte [rax + r11], bl
movzx r10d, bx
mov r9d, ebx
mov rcx, r11
movzx eax, byte [0x140046170]
test al, al
je 0x140019bca
nop dword [rax]
inc rcx
inc r9d
cmp byte [rcx], bl
jne 0x140019bc0
dec r9w
cmp bx, r9w
jge 0x140019c10
nop dword [rax]
nop dword [rax + rax]
movsx rdx, r10w
movzx r8d, byte [rdx + r11]
movsx rax, r9w
lea rcx, [rax + r11]
movzx eax, byte [rcx]
mov byte [rdx + r11], al
mov byte [rcx], r8b
inc r10w
dec r9w
cmp r10w, r9w
jl 0x140019be0
movzx eax, byte [0x140046170]
lea r9, [0x140046530]
mov rdx, r9
mov r8, r11
test al, al
je 0x140019c6d
mov edi, 0x20
lea r11, [0x140000000]
nop dword [rax]
cmp al, 0x7f
ja 0x140019c39
movzx ecx, al
jmp 0x140019c4d
cmp al, 0xfe
ja 0x140019c4b
movzx eax, al
movzx ecx, word [r11 + rax*2 + 0x30230]
jmp 0x140019c4d
mov ecx, edi
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x140019c30
lea r11, [0x140046170]
lea rdi, [0x140046190]
mov word [rdx], bx
mov rdx, r9
mov rcx, rdi
cmp byte [rcx], bl
jne 0x140019c7f
cmp byte [rcx + 1], bl
je 0x140019c85
add rcx, 2
jmp 0x140019c76
movzx eax, byte [rdx]
test al, al
jne 0x140019c91
cmp byte [rdx + 1], bl
je 0x140019ca4
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140019c85
mov word [rcx], bx
lea rdx, [0x14003c340]
mov rcx, rdi
cmp byte [rcx], bl
jne 0x140019cba
cmp byte [rcx + 1], bl
je 0x140019cc0
add rcx, 2
jmp 0x140019cb1
movzx eax, byte [rdx]
test al, al
jne 0x140019ccc
cmp byte [rdx + 1], bl
je 0x140019cdf
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140019cc0
mov word [rcx], bx
movzx edx, word [0x140040406]
movzx r8d, bx
nop dword [rax]
movzx ecx, dx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
add cl, 0x30
movsx rax, r8w
mov byte [rax + r11], cl
inc r8w
test dx, dx
jne 0x140019cf0
movsx rax, r8w
mov byte [rax + r11], bl
movzx r10d, bx
mov r9d, ebx
mov rcx, r11
movzx eax, byte [0x140046170]
test al, al
je 0x140019d4a
nop dword [rax]
inc rcx
inc r9d
cmp byte [rcx], bl
jne 0x140019d40
dec r9w
cmp bx, r9w
jge 0x140019d90
nop dword [rax]
nop dword [rax + rax]
movsx rdx, r10w
movzx r8d, byte [rdx + r11]
movsx rax, r9w
lea rcx, [rax + r11]
movzx eax, byte [rcx]
mov byte [rdx + r11], al
mov byte [rcx], r8b
inc r10w
dec r9w
cmp r10w, r9w
jl 0x140019d60
movzx eax, byte [0x140046170]
lea r9, [0x140046530]
mov rdx, r9
mov r8, r11
test al, al
je 0x140019ded
mov edi, 0x20
lea r11, [0x140000000]
nop dword [rax]
cmp al, 0x7f
ja 0x140019db9
movzx ecx, al
jmp 0x140019dcd
cmp al, 0xfe
ja 0x140019dcb
movzx eax, al
movzx ecx, word [r11 + rax*2 + 0x30230]
jmp 0x140019dcd
mov ecx, edi
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x140019db0
lea r11, [0x140046170]
lea rdi, [0x140046190]
mov word [rdx], bx
mov rdx, r9
mov rcx, rdi
cmp byte [rcx], bl
jne 0x140019dff
cmp byte [rcx + 1], bl
je 0x140019e05
add rcx, 2
jmp 0x140019df6
movzx eax, byte [rdx]
test al, al
jne 0x140019e11
cmp byte [rdx + 1], bl
je 0x140019e24
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140019e05
mov word [rcx], bx
lea rdx, [0x14003c340]
mov rcx, rdi
cmp byte [rcx], bl
jne 0x140019e3a
cmp byte [rcx + 1], bl
je 0x140019e40
add rcx, 2
jmp 0x140019e31
movzx eax, byte [rdx]
test al, al
jne 0x140019e4c
cmp byte [rdx + 1], bl
je 0x140019e5f
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140019e40
mov word [rcx], bx
movzx edx, word [0x140040408]
movzx r8d, bx
nop dword [rax]
movzx ecx, dx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
add cl, 0x30
movsx rax, r8w
mov byte [rax + r11], cl
inc r8w
test dx, dx
jne 0x140019e70
movsx rax, r8w
mov byte [rax + r11], bl
movzx r10d, bx
mov r9d, ebx
mov rcx, r11
movzx eax, byte [0x140046170]
test al, al
je 0x140019eca
nop dword [rax]
inc rcx
inc r9d
cmp byte [rcx], bl
jne 0x140019ec0
dec r9w
cmp bx, r9w
jge 0x140019f10
nop dword [rax]
nop dword [rax + rax]
movsx rdx, r10w
movzx r8d, byte [rdx + r11]
movsx rax, r9w
lea rcx, [rax + r11]
movzx eax, byte [rcx]
mov byte [rdx + r11], al
mov byte [rcx], r8b
inc r10w
dec r9w
cmp r10w, r9w
jl 0x140019ee0
movzx eax, byte [0x140046170]
lea r9, [0x140046530]
mov rdx, r9
mov r8, r11
test al, al
je 0x140019f67
mov edi, 0x20
lea rbx, [0x140000000]
nop dword [rax]
cmp al, 0x7f
ja 0x140019f39
movzx ecx, al
jmp 0x140019f4c
cmp al, 0xfe
ja 0x140019f4a
movzx eax, al
movzx ecx, word [rbx + rax*2 + 0x30230]
jmp 0x140019f4c
mov ecx, edi
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x140019f30
xor ebx, ebx
lea rdi, [0x140046190]
mov word [rdx], bx
mov rdx, r9
mov rcx, rdi
cmp byte [rcx], 0
jne 0x140019f7b
cmp byte [rcx + 1], 0
je 0x140019f81
add rcx, 2
jmp 0x140019f70
movzx eax, byte [rdx]
test al, al
jne 0x140019f8d
cmp byte [rdx + 1], al
je 0x140019fa0
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140019f81
mov word [rcx], 0
lea rdx, [0x14003c344]
mov rcx, rdi
nop
cmp byte [rcx], 0
jne 0x140019fbb
cmp byte [rcx + 1], 0
je 0x140019fc1
add rcx, 2
jmp 0x140019fb0
movzx eax, byte [rdx]
test al, al
jne 0x140019fcd
cmp byte [rdx + 1], al
je 0x140019fe0
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x140019fc1
mov word [rcx], 0
mov rax, rdi
mov ecx, ebx
nop word [rax + rax]
cmp byte [rax], 0
jne 0x140019ffb
cmp byte [rax + 1], 0
je 0x14001a003
add rax, 2
inc ecx
jmp 0x140019ff0
lea edi, [rcx + rcx]
mov rcx, rbx
movsxd rbx, edi
lea rdx, [0x140046190]
test edi, edi
jle 0x14001a02b
nop word [rax + rax]
not byte [rcx + rdx]
inc rcx
cmp rcx, rbx
jl 0x14001a020
xor eax, eax
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x31]
mov r8d, edi
mov rax, qword [rbp - 0x51]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x14001a079
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x58
jae 0x14001a067
mov eax, eax
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x30680]
jmp 0x14001a06c
mov ecx, operator
mov dword [0x140042de8], ecx
mov byte [0x1400433b0], 0
xor eax, eax
mov ecx, eax
test edi, edi
jle 0x14001a0a1
lea rdx, [0x140046190]
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
not al
mov byte [rcx + rdx], al
inc rcx
cmp rcx, rbx
jl 0x14001a090
cmp dword [rbp - 0x31], edi
jne 0x14001adfb
jmp 0x14001a0b1
xor eax, eax
mov dword [rbp - 0x75], eax
mov rbx, qword [0x140046558]
mov r9, qword [0x14003e1a0]
movzx edi, word [rbp - 0x7d]
mov r11, qword [rbp - 0x69]
jmp 0x14001a183
movzx eax, al
movsx rcx, r12w
movzx eax, byte [rax + r9]
lea rdx, [0x140046430]
mov byte [rcx + rdx], al
inc r12w
jmp 0x14001a183
test r10w, r10w
je 0x14001a17d
cmp r10w, 0xd
jne 0x14001a11c
movzx eax, al
add ax, r10w
movsx rcx, ax
movsx rdx, r12w
movzx eax, byte [rcx + r9]
lea rcx, [0x140046430]
mov byte [rdx + rcx], al
jmp 0x14001a175
cmp r10w, 0xe
jne 0x14001a12c
movzx eax, al
add ax, 0x1d
jmp 0x14001a103
cmp r10w, 0xf
jne 0x14001a179
test ecx, ecx
je 0x14001a14a
movzx ecx, byte [r8 + 1]
shr cl, 4
movzx eax, dl
shl al, 4
movzx edx, cl
or dl, al
inc di
movzx eax, dl
add ax, 0x2d
mov ecx, 0xff
cmp ax, cx
jge 0x14001a191
movsx rax, ax
movsx rcx, r12w
movzx eax, byte [rax + r9]
lea rdx, [0x140046430]
mov byte [rcx + rdx], al
inc r12w
xor eax, eax
jmp 0x14001a180
movzx eax, al
mov dword [rbp - 0x79], eax
inc di
cmp di, word [rbp - 0x71]
jge 0x14001a1a3
jmp 0x140018210
movzx eax, word [r11 + 0x82]
add ax, ax
mov word [0x1400400a4], ax
mov ebx, operator
movzx ecx, word [rbp - 0x7b]
inc cx
mov word [rbp - 0x7b], cx
cmp cx, word [r11 + 0x80]
jge 0x14001a1fd
xor edx, edx
jmp 0x140018120
mov eax, 0xfffffffc
jmp 0x14001adfe
movzx eax, byte [rbx]
sub al, 0x30
cmp al, 9
ja 0x14001a1e1
cmp byte [rbx + 1], dil
je 0x140017f78
mov eax, 7
jmp 0x14001adfe
call fcn.14002c590
int3
call fcn.14002c590
int3
call fcn.14002c590
int3
mov eax, dword [rbp - 0x59]
test ax, ax
jne 0x14001acc6
mov r12, qword [rbp - 0x29]
mov rdi, qword [rbp - 0x61]
test si, si
je 0x14001a39e
mov rbx, qword [rbp - 0x21]
mov r8, rbx
movzx edx, word [0x140041aa0]
mov rcx, r13
call fcn.140029e70
test ax, ax
jle 0x14001acc6
mov rcx, rbx
call fcn.14001af60
test ax, ax
je 0x14001a298
movzx r8d, word [0x14003e1bc]
mov word [0x14003e1b0], r8w
movzx ecx, word [0x14003e170]
imul ecx, r8d
mov eax, 0x51eb851f
imul ecx
mov ecx, edx
sar ecx, 5
mov eax, ecx
shr eax, 0x1f
add ecx, eax
add cx, word [0x14003e16c]
mov word [0x14003e174], cx
lea rdx, [0x14003e1d0]
call qword [0x140041ab0]
test ax, ax
jne 0x14001a1c4
mov eax, 0x20
mov dword [rdi], eax
xor esi, esi
mov qword [rbp - 0x61], r12
mov rcx, r13
mov rdx, r12
movzx eax, byte [r13 + 1]
or al, byte [r13]
je 0x140017f78
movzx r8d, word [r12]
nop
cmp word [rcx], r8w
jne 0x14001a2eb
mov rbx, rcx
nop dword [rax]
lea rdx, [rdx + 2]
movzx eax, word [rdx]
test ax, ax
je 0x14001a2fd
add rcx, 2
cmp word [rcx], ax
je 0x14001a2d0
mov rcx, rbx
mov rdx, r12
add rcx, 2
movzx eax, byte [rcx + 1]
or al, byte [rcx]
je 0x140017f78
jmp 0x14001a2c0
test rbx, rbx
je 0x140017f78
movzx ecx, si
mov r8, rbx
sub r8, r13
lea r9, [0x140045970]
test r8, r8
jle 0x14001a335
mov rdx, rsi
nop
movzx eax, byte [rdx + r13]
mov byte [rdx + r9], al
inc cx
movsx rdx, cx
cmp rdx, r8
jl 0x14001a320
movsx rax, cx
cmp rax, 0x800
jae 0x14001acc0
mov byte [rax + r9], sil
lea eax, [rcx + 1]
movsx rax, ax
cmp rax, 0x800
jae 0x14001acba
mov byte [rax + r9], sil
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140029c70
test ax, ax
je 0x14001ac9e
movsx rcx, ax
add rcx, rbx
lea rdx, [rsp + 0x34]
call fcn.140029c70
test ax, ax
je 0x140017f78
movzx r14d, word [rsp + 0x30]
movzx r15d, word [rsp + 0x34]
jmp 0x14001a3a0
xor esi, esi
mov word [0x14004040a], r14w
mov dword [0x14004040c], 0x3fff
mov word [0x140040410], r15w
mov word [0x140040412], si
lea rax, [0x140045970]
mov rcx, rax
lea rbx, [0x140046190]
mov rdx, rbx
movzx eax, byte [rcx]
test al, al
jne 0x14001a3e1
cmp byte [rcx + 1], al
je 0x14001a3f4
mov byte [rdx], al
movzx eax, byte [rcx + 1]
mov byte [rdx + 1], al
add rdx, 2
add rcx, 2
jmp 0x14001a3d5
movzx eax, byte [rcx]
mov byte [rdx], al
movzx eax, byte [rcx + 1]
mov byte [rdx + 1], al
lea rdx, [0x14003c340]
mov rcx, rbx
nop word [rax + rax]
cmp byte [rcx], 0
jne 0x14001a41b
cmp byte [rcx + 1], 0
je 0x14001a421
add rcx, 2
jmp 0x14001a410
movzx eax, byte [rdx]
test al, al
jne 0x14001a42d
cmp byte [rdx + 1], al
je 0x14001a440
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x14001a421
mov word [rcx], 0
movzx edx, r14w
movzx r8d, si
lea r11, [0x140046170]
nop dword [rax]
nop dword [rax + rax]
movzx ecx, dx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
add cl, 0x30
movsx rax, r8w
mov byte [rax + r11], cl
inc r8w
test dx, dx
jne 0x14001a460
movsx rax, r8w
mov byte [rax + r11], dl
movzx r10d, si
mov r9d, esi
mov rcx, r11
movzx eax, byte [0x140046170]
test al, al
je 0x14001a4bb
nop dword [rax]
inc rcx
inc r9d
cmp byte [rcx], 0
jne 0x14001a4b0
dec r9w
cmp si, r9w
jge 0x14001a500
nop word [rax + rax]
movsx rdx, r10w
movzx r8d, byte [rdx + r11]
movsx rax, r9w
lea rcx, [rax + r11]
movzx eax, byte [rcx]
mov byte [rdx + r11], al
mov byte [rcx], r8b
inc r10w
dec r9w
cmp r10w, r9w
jl 0x14001a4d0
movzx eax, byte [0x140046170]
lea rdi, [0x140046530]
mov rdx, rdi
mov r8, r11
test al, al
je 0x14001a55d
mov ebx, 0x20
lea r11, [0x140000000]
nop dword [rax]
cmp al, 0x7f
ja 0x14001a529
movzx ecx, al
jmp 0x14001a53d
cmp al, 0xfe
ja 0x14001a53b
movzx eax, al
movzx ecx, word [r11 + rax*2 + 0x30230]
jmp 0x14001a53d
mov ecx, ebx
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x14001a520
lea r11, [0x140046170]
lea rbx, [0x140046190]
mov word [rdx], si
mov rdx, rdi
mov rcx, rbx
cmp byte [rcx], 0
jne 0x14001a571
cmp byte [rcx + 1], 0
je 0x14001a577
add rcx, 2
jmp 0x14001a566
movzx eax, byte [rdx]
test al, al
jne 0x14001a583
cmp byte [rdx + 1], al
je 0x14001a596
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x14001a577
mov word [rcx], 0
lea rdx, [0x14003c340]
mov rcx, rbx
cmp byte [rcx], 0
jne 0x14001a5b0
cmp byte [rcx + 1], 0
je 0x14001a5b6
add rcx, 2
jmp 0x14001a5a5
movzx eax, byte [rdx]
test al, al
jne 0x14001a5c2
cmp byte [rdx + 1], al
je 0x14001a5d5
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x14001a5b6
mov word [rcx], 0
mov edx, 0x3fff
movzx r8d, si
nop dword [rax]
nop word [rax + rax]
movzx ecx, dx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
add cl, 0x30
movsx rax, r8w
mov byte [rax + r11], cl
inc r8w
test dx, dx
jne 0x14001a5f0
movsx rax, r8w
mov byte [rax + r11], dl
movzx r10d, si
mov r9d, esi
mov rcx, r11
movzx eax, byte [0x140046170]
test al, al
je 0x14001a64b
nop dword [rax]
inc rcx
inc r9d
cmp byte [rcx], 0
jne 0x14001a640
dec r9w
cmp si, r9w
jge 0x14001a690
nop word [rax + rax]
movsx rdx, r10w
movzx r8d, byte [rdx + r11]
movsx rax, r9w
lea rcx, [rax + r11]
movzx eax, byte [rcx]
mov byte [rdx + r11], al
mov byte [rcx], r8b
inc r10w
dec r9w
cmp r10w, r9w
jl 0x14001a660
movzx eax, byte [0x140046170]
mov rdx, rdi
mov r8, r11
test al, al
je 0x14001a6e3
mov ebx, 0x20
lea r11, [0x140000000]
cmp al, 0x7f
ja 0x14001a6af
movzx ecx, al
jmp 0x14001a6c3
cmp al, 0xfe
ja 0x14001a6c1
movzx eax, al
movzx ecx, word [r11 + rax*2 + 0x30230]
jmp 0x14001a6c3
mov ecx, ebx
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x14001a6a6
lea r11, [0x140046170]
lea rbx, [0x140046190]
mov word [rdx], si
mov rdx, rdi
mov rcx, rbx
nop dword [rax]
cmp byte [rcx], 0
jne 0x14001a6fb
cmp byte [rcx + 1], 0
je 0x14001a701
add rcx, 2
jmp 0x14001a6f0
movzx eax, byte [rdx]
test al, al
jne 0x14001a70d
cmp byte [rdx + 1], al
je 0x14001a720
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x14001a701
mov word [rcx], 0
lea rdx, [0x14003c340]
mov rcx, rbx
nop
cmp byte [rcx], 0
jne 0x14001a73b
cmp byte [rcx + 1], 0
je 0x14001a741
add rcx, 2
jmp 0x14001a730
movzx eax, byte [rdx]
test al, al
jne 0x14001a74d
cmp byte [rdx + 1], al
je 0x14001a760
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x14001a741
mov word [rcx], 0
movzx edx, si
movzx r8d, si
nop dword [rax]
movzx ecx, dx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
add cl, 0x30
movsx rax, r8w
mov byte [rax + r11], cl
inc r8w
test dx, dx
jne 0x14001a770
movsx rax, r8w
mov byte [rax + r11], dl
movzx r10d, si
mov r9d, esi
mov rcx, r11
movzx eax, byte [0x140046170]
test al, al
je 0x14001a7cb
nop dword [rax]
inc rcx
inc r9d
cmp byte [rcx], 0
jne 0x14001a7c0
dec r9w
cmp si, r9w
jge 0x14001a810
nop word [rax + rax]
movsx rdx, r10w
movzx r8d, byte [rdx + r11]
movsx rax, r9w
lea rcx, [rax + r11]
movzx eax, byte [rcx]
mov byte [rdx + r11], al
mov byte [rcx], r8b
inc r10w
dec r9w
cmp r10w, r9w
jl 0x14001a7e0
movzx eax, byte [0x140046170]
mov rdx, rdi
mov r8, r11
test al, al
je 0x14001a863
mov ebx, 0x20
lea r11, [0x140000000]
cmp al, 0x7f
ja 0x14001a82f
movzx ecx, al
jmp 0x14001a843
cmp al, 0xfe
ja 0x14001a841
movzx eax, al
movzx ecx, word [r11 + rax*2 + 0x30230]
jmp 0x14001a843
mov ecx, ebx
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x14001a826
lea r11, [0x140046170]
lea rbx, [0x140046190]
mov word [rdx], si
mov rdx, rdi
mov rcx, rbx
nop dword [rax]
cmp byte [rcx], 0
jne 0x14001a87b
cmp byte [rcx + 1], 0
je 0x14001a881
add rcx, 2
jmp 0x14001a870
movzx eax, byte [rdx]
test al, al
jne 0x14001a88d
cmp byte [rdx + 1], al
je 0x14001a8a0
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x14001a881
mov word [rcx], 0
lea rdx, [0x14003c340]
mov rcx, rbx
nop
cmp byte [rcx], 0
jne 0x14001a8bb
cmp byte [rcx + 1], 0
je 0x14001a8c1
add rcx, 2
jmp 0x14001a8b0
movzx eax, byte [rdx]
test al, al
jne 0x14001a8cd
cmp byte [rdx + 1], al
je 0x14001a8e0
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x14001a8c1
mov word [rcx], 0
movzx edx, r15w
movzx r8d, si
nop dword [rax]
movzx ecx, dx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
add cl, 0x30
movsx rax, r8w
mov byte [rax + r11], cl
inc r8w
test dx, dx
jne 0x14001a8f0
movsx rax, r8w
mov byte [rax + r11], dl
movzx r10d, si
mov r9d, esi
mov rcx, r11
movzx eax, byte [0x140046170]
test al, al
je 0x14001a94b
nop dword [rax]
inc rcx
inc r9d
cmp byte [rcx], 0
jne 0x14001a940
dec r9w
cmp si, r9w
jge 0x14001a990
nop word [rax + rax]
movsx rdx, r10w
movzx r8d, byte [rdx + r11]
movsx rax, r9w
lea rcx, [rax + r11]
movzx eax, byte [rcx]
mov byte [rdx + r11], al
mov byte [rcx], r8b
inc r10w
dec r9w
cmp r10w, r9w
jl 0x14001a960
movzx eax, byte [0x140046170]
mov rdx, rdi
mov r8, r11
test al, al
je 0x14001a9e3
mov ebx, 0x20
lea r11, [0x140000000]
cmp al, 0x7f
ja 0x14001a9af
movzx ecx, al
jmp 0x14001a9c3
cmp al, 0xfe
ja 0x14001a9c1
movzx eax, al
movzx ecx, word [r11 + rax*2 + 0x30230]
jmp 0x14001a9c3
mov ecx, ebx
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x14001a9a6
lea r11, [0x140046170]
lea rbx, [0x140046190]
mov word [rdx], si
mov rdx, rdi
mov rcx, rbx
nop dword [rax]
cmp byte [rcx], 0
jne 0x14001a9fb
cmp byte [rcx + 1], 0
je 0x14001aa01
add rcx, 2
jmp 0x14001a9f0
movzx eax, byte [rdx]
test al, al
jne 0x14001aa0d
cmp byte [rdx + 1], al
je 0x14001aa20
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x14001aa01
mov word [rcx], 0
lea rdx, [0x14003c340]
mov rcx, rbx
nop
cmp byte [rcx], 0
jne 0x14001aa3b
cmp byte [rcx + 1], 0
je 0x14001aa41
add rcx, 2
jmp 0x14001aa30
movzx eax, byte [rdx]
test al, al
jne 0x14001aa4d
cmp byte [rdx + 1], al
je 0x14001aa60
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x14001aa41
mov word [rcx], 0
movzx edx, si
movzx r8d, si
nop dword [rax]
movzx ecx, dx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
add cl, 0x30
movsx rax, r8w
mov byte [rax + r11], cl
inc r8w
test dx, dx
jne 0x14001aa70
movsx rax, r8w
mov byte [rax + r11], dl
movzx r10d, si
mov r9d, esi
mov rcx, r11
movzx eax, byte [0x140046170]
test al, al
je 0x14001aacb
nop dword [rax]
inc rcx
inc r9d
cmp byte [rcx], 0
jne 0x14001aac0
dec r9w
cmp si, r9w
jge 0x14001ab10
nop word [rax + rax]
movsx rdx, r10w
movzx r8d, byte [rdx + r11]
movsx rax, r9w
lea rcx, [rax + r11]
movzx eax, byte [rcx]
mov byte [rdx + r11], al
mov byte [rcx], r8b
inc r10w
dec r9w
cmp r10w, r9w
jl 0x14001aae0
movzx eax, byte [0x140046170]
mov rdx, rdi
mov r8, r11
test al, al
je 0x14001ab5d
mov ebx, 0x20
lea rsi, [0x140000000]
cmp al, 0x7f
ja 0x14001ab2f
movzx ecx, al
jmp 0x14001ab42
cmp al, 0xfe
ja 0x14001ab40
movzx eax, al
movzx ecx, word [rsi + rax*2 + 0x30230]
jmp 0x14001ab42
mov ecx, ebx
mov word [rdx], cx
add rdx, 2
inc r8
movzx eax, byte [r8]
test al, al
jne 0x14001ab26
xor esi, esi
lea rbx, [0x140046190]
mov word [rdx], si
mov rdx, rdi
mov rcx, rbx
cmp byte [rcx], 0
jne 0x14001ab71
cmp byte [rcx + 1], 0
je 0x14001ab77
add rcx, 2
jmp 0x14001ab66
movzx eax, byte [rdx]
test al, al
jne 0x14001ab83
cmp byte [rdx + 1], al
je 0x14001ab96
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x14001ab77
mov word [rcx], 0
lea rdx, [0x14003c344]
mov rcx, rbx
cmp byte [rcx], 0
jne 0x14001abb0
cmp byte [rcx + 1], 0
je 0x14001abb6
add rcx, 2
jmp 0x14001aba5
movzx eax, byte [rdx]
test al, al
jne 0x14001abc2
cmp byte [rdx + 1], al
je 0x14001abd5
mov byte [rcx], al
movzx eax, byte [rdx + 1]
mov byte [rcx + 1], al
add rcx, 2
add rdx, 2
jmp 0x14001abb6
mov word [rcx], 0
mov rax, rbx
mov ecx, esi
nop
cmp byte [rax], 0
jne 0x14001abeb
cmp byte [rax + 1], 0
je 0x14001abf3
add rax, 2
inc ecx
jmp 0x14001abe0
lea edi, [rcx + rcx]
mov rcx, rsi
movsxd rbx, edi
lea r10, [0x140046190]
test edi, edi
jle 0x14001ac1c
nop word [rax + rax]
not byte [rcx + r10]
inc rcx
cmp rcx, rbx
jl 0x14001ac10
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 0x71]
mov r8d, edi
mov rdx, r10
mov rax, qword [rbp - 0x51]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x14001ac6b
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x58
jae 0x14001ac59
mov eax, eax
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x30680]
jmp 0x14001ac5e
mov ecx, operator
mov dword [0x140042de8], ecx
mov byte [0x1400433b0], 0
mov rcx, rsi
test edi, edi
jle 0x14001ac8b
lea rdx, [0x140046190]
nop dword [rax]
not byte [rcx + rdx]
inc rcx
cmp rcx, rbx
jl 0x14001ac80
cmp dword [rbp - 0x71], edi
jne 0x14001adfb
mov esi, 1
jmp 0x14001a20d
movzx eax, byte [rbx]
sub al, 0x30
cmp al, 9
ja 0x14001a1e1
cmp byte [rbx + 1], sil
jne 0x14001a1e1
jmp 0x140017f78
call fcn.14002c590
int3
call fcn.14002c590
int3
mov rcx, qword [rbp - 0x51]
call fcn.14002a1e0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov r15, qword [rbp - 0x11]
mov rcx, qword [r15]
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ebx, eax
inc eax
test eax, 0xfffffffe
jne 0x14001ad1e
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x58
jae 0x14001ad0c
mov eax, eax
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x30680]
jmp 0x14001ad11
mov ecx, operator
mov dword [0x140042de8], ecx
mov byte [0x1400433b0], 0
cmp ebx, 0xffffffff
jne 0x14001ad2d
mov eax, 3
jmp 0x14001adfe
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov r14, qword [rbp - 0x49]
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ebx, eax
inc eax
test eax, 0xfffffffe
jne 0x14001ad7c
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x58
jae 0x14001ad6a
mov eax, eax
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0x30680]
jmp 0x14001ad6f
mov eax, operator
mov dword [0x140042de8], eax
mov byte [0x1400433b0], 0
cmp ebx, 0xffffffff
je 0x14001ad23
xor r12d, r12d
mov edi, r12d
mov rsi, qword [rbp - 0x19]
cmp dword [rsi], r12d
jbe 0x14001adcd
mov r8, r14
movzx edx, word [0x140041aa0]
mov rcx, r13
call fcn.140029e70
test ax, ax
jle 0x14001adcd
mov rcx, r13
call fcn.14002a800
mov ebx, eax
mov r8d, eax
mov rdx, r13
mov rcx, r15
call fcn.14002a040
cmp eax, ebx
jne 0x14001ad23
inc edi
cmp edi, dword [rsi]
jb 0x14001ad90
mov rcx, r14
call fcn.14002a1e0
lea rcx, str.tmpout.hlp
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__unlink]
mov rcx, qword [rbp - 0x61]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
movzx eax, r12w
jmp 0x14001adfe
or eax, 0xffffffff
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.14002c160
mov rbx, qword [rsp + 0x120]
add rsp, 0xe0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret