Function at 0x180026040
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x288
mov byte [rsp + 0x8c], 0x80
mov byte [rsp + 0x45], 0xcb
mov byte [rsp + 0x42], 0x94
movzx eax, byte [0x1800a61ff]
mov byte [rsp + 0x4d], al
mov rax, qword [0x1800a6338]
mov word [rsp + 0x54], ax
movzx eax, word [0x1800a6348]
mov word [rsp + 0x5c], ax
mov byte [rsp + 0x4c], 0x39
movsx eax, byte [0x1800a6243]
mov dword [rsp + 0x64], eax
mov dword [rsp + 0x68], 0xa5
movzx eax, byte [0x1800a61fb]
movsx eax, al
mov dword [rsp + 0x70], eax
mov byte [rsp + 0x43], 0x46
mov eax, 0xd0
mov word [rsp + 0x50], ax
mov dword [rsp + 0x6c], 0xa5
mov rax, qword [0x1800a6310]
mov qword [rsp + 0xb0], rax
mov eax, 0xffffca3d
mov word [rsp + 0x48], ax
movzx eax, byte [0x1800a637c]
mov byte [rsp + 0x58], al
mov rax, qword [0x1800a6310]
mov qword [rsp + 0xc0], rax
mov dword [rsp + 0x60], 0xfef686a3
mov dword [rsp + 0x74], 0xf1c6ee7d
mov byte [rsp + 0x44], 0x69
mov eax, dword [0x1800a62dc]
mov byte [rsp + 0x41], al
movzx eax, byte [0x1800a6360]
mov byte [rsp + 0x59], al
mov qword [rsp + 0x1c8], 0xa84f
movzx eax, byte [0x1800a6308]
mov byte [rsp + 0x46], al
mov rax, qword [0x1800a62f8]
mov byte [rsp + 0x40], al
movzx eax, byte [0x1800a6308]
mov byte [rsp + 0x8d], al
mov eax, dword [0x1800a6354]
mov dword [rsp + 0x224], eax
movzx eax, word [0x1800a62c4]
movzx eax, ax
mov qword [rsp + 0x248], rax
movzx eax, word [0x1800a6320]
mov word [rsp + 0x148], ax
movzx eax, byte [0x1800a622f]
mov byte [rsp + 0x80], al
mov dword [rsp + 0x220], 0x502b
movzx eax, word [0x1800a6310]
mov word [rsp + 0x14c], ax
mov byte [rsp + 0x81], 0x5c
movabs rax, 0x52cc536d3cc8
mov qword [rsp + 0x250], rax
movzx eax, word [0x1800a6380]
mov word [rsp + 0x1b8], ax
mov eax, 8
imul rax, rax, 0x42
lea rcx, [0x1805d40c0]
mov edx, dword [0x1800a62dc]
movsxd rdx, edx
add rdx, qword [rcx + rax]
mov rax, rdx
mov dword [0x1800a62dc], eax
mov eax, dword [0x1803be0b0]
mov dword [rsp + 0x90], eax
movzx eax, word [rsp + 0x54]
movzx eax, ax
sub eax, 0x78
mov word [rsp + 0x50], ax
mov eax, 0x8c41449e
mov rcx, qword [0x1800a6328]
imul rcx, rax
mov rax, rcx
mov qword [0x1800a6320], rax
mov eax, dword [rsp + 0x90]
add eax, 0x250
mov dword [rsp + 0x21c], eax
mov eax, dword [rsp + 0x90]
add eax, 0x24d
mov dword [rsp + 0x168], eax
movsx eax, word [rsp + 0x50]
cmp eax, dword [rsp + 0x6c]
jne 0x180026271
mov dword [rsp + 0xcc], 1
jmp 0x18002627c
mov dword [rsp + 0xcc], 0
movsx eax, word [rsp + 0x50]
cmp eax, 0x3f
jne 0x180026293
mov dword [rsp + 0xc8], 1
jmp 0x18002629e
mov dword [rsp + 0xc8], 0
mov eax, dword [rsp + 0xc8]
cmp dword [rsp + 0xcc], eax
jge 0x1800262b8
mov byte [rsp + 0x45], 0x4d
jmp 0x18002633d
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x64]
imul eax, ecx
movsx ecx, byte [rsp + 0x40]
not ecx
sub ecx, 0xafc54
imul eax, ecx
test eax, eax
jne 0x1800262e4
mov dword [rsp + 0xd4], 1
jmp 0x1800262ef
mov dword [rsp + 0xd4], 0
movzx eax, byte [rsp + 0x45]
movsx eax, al
movzx ecx, byte [rsp + 0x41]
movzx ecx, cl
add eax, ecx
test eax, eax
jne 0x180026312
mov dword [rsp + 0xd0], 1
jmp 0x18002631d
mov dword [rsp + 0xd0], 0
mov eax, dword [rsp + 0x6c]
mov ecx, dword [rsp + 0xd0]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xd4]
add ecx, eax
mov eax, ecx
mov byte [0x1800a622f], al
mov eax, dword [rsp + 0x90]
add eax, 0x408
mov dword [rsp + 0xe8], eax
mov rax, qword [0x1800a6320]
and rax, 0x7034
test rax, rax
jne 0x180026370
mov qword [rsp + 0x1d0], 1
jmp 0x18002637c
mov qword [rsp + 0x1d0], 0
movsx eax, word [rsp + 0x50]
movzx ecx, word [rsp + 0x54]
movzx ecx, cx
add eax, ecx
movzx ecx, byte [rsp + 0x41]
movzx ecx, cl
movsx edx, word [rsp + 0x50]
sub ecx, edx
and eax, ecx
test eax, eax
jne 0x1800263ae
mov qword [rsp + 0x1d8], 1
jmp 0x1800263ba
mov qword [rsp + 0x1d8], 0
mov eax, dword [rsp + 0x70]
cdqe
mov rcx, qword [rsp + 0x1c8]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x1d0]
imul rcx, rax
mov rax, rcx
xor rax, qword [rsp + 0x1d8]
mov word [0x1800a636c], ax
movzx eax, byte [rsp + 0x42]
movzx eax, al
mov rcx, qword [0x1800a6310]
add rcx, rax
mov rax, rcx
mov rcx, qword [0x1800a6310]
add rcx, rax
mov rax, rcx
mov qword [0x1800a6310], rax
mov eax, dword [0x1803be0b0]
mov dword [rsp + 0x94], eax
movsx rax, word [0x1800a6254]
imul rax, qword [0x1800a6340]
mov word [0x1800a6254], ax
mov eax, dword [rsp + 0x94]
add eax, 0x9747
mov dword [rsp + 0x218], eax
movzx eax, word [0x1800a62c4]
movzx eax, ax
imul eax, eax, 0x28
mov word [0x1800a6364], ax
mov eax, 0xdfb689eb
mov rcx, qword [0x1800a6348]
sub rcx, rax
mov rax, rcx
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x94]
add eax, 0x97be
mov dword [rsp + 0x214], eax
movzx eax, byte [rsp + 0x4c]
movzx eax, al
test eax, eax
jne 0x1800264a2
mov dword [rsp + 0xd8], 1
jmp 0x1800264ad
mov dword [rsp + 0xd8], 0
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0xd8]
sub ecx, eax
mov eax, ecx
mov eax, eax
mov rcx, qword [rsp + 0xb0]
sub rax, rcx
mov dword [0x1800a6368], eax
mov eax, dword [rsp + 0x94]
add eax, 0xb9cd
mov dword [rsp + 0xdc], eax
movsx eax, byte [rsp + 0x44]
movsx ecx, word [rsp + 0x50]
sub eax, ecx
movsx ecx, byte [rsp + 0x44]
and ecx, eax
mov eax, ecx
mov byte [rsp + 0x44], al
movsx rax, byte [rsp + 0x44]
movabs rcx, 0x37902fde0bc17
add rax, rcx
mov qword [0x1800a6328], rax
mov eax, dword [rsp + 0xdc]
mov ecx, dword [rsp + 0xdc]
or eax, ecx
mov ecx, 0xbb2f
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x16c], eax
mov eax, dword [0x1803be0b0]
mov dword [rsp + 0x98], eax
mov dword [0x1800a62dc], 0xf563241
mov rax, qword [0x1800a62e8]
sub rax, 0xd5
mov qword [rsp + 0x1c8], rax
mov eax, dword [rsp + 0x98]
add eax, 0xdb
mov dword [rsp + 0xe0], eax
mov eax, dword [0x1800a6368]
inc eax
mov dword [0x1800a6368], eax
mov eax, dword [rsp + 0x98]
add eax, 0x93
mov dword [rsp + 0x230], eax
movzx eax, byte [rsp + 0x41]
movzx eax, al
movsx ecx, word [0x1800a6254]
and eax, ecx
movzx ecx, byte [rsp + 0x41]
movzx ecx, cl
and ecx, eax
mov eax, ecx
mov byte [rsp + 0x41], al
mov eax, dword [rsp + 0x98]
add eax, 0x8d
mov dword [rsp + 0x228], eax
mov rax, qword [0x1800a62f0]
not rax
imul rax, qword [0x1800a6328]
movsx eax, byte [0x1800a6243]
mov ecx, dword [0x1800a6354]
add eax, ecx
mov byte [rsp + 0x43], al
movzx eax, word [0x1800a6350]
mov ecx, 2
imul rcx, rcx, 0x1b77
lea rdx, [0x1803ec770]
mov word [rdx + rcx], ax
mov eax, dword [rsp + 0xe0]
mov ecx, dword [rsp + 0xe0]
sub eax, ecx
xor eax, 0x1b2
mov dword [rsp + 0x170], eax
mov eax, dword [0x1803be0b0]
mov dword [rsp + 0x9c], eax
movzx eax, word [0x1800a6364]
mov rcx, qword [0x1800a62f0]
imul rcx, rax
mov rax, rcx
mov qword [0x1800a62f0], rax
mov eax, dword [rsp + 0x9c]
add eax, 0xce
mov dword [rsp + 0x1b0], eax
mov byte [0x1800a622f], 0x51
mov eax, dword [rsp + 0x9c]
add eax, 0x47c8
mov dword [rsp + 0x1b4], eax
mov eax, dword [rsp + 0x9c]
add eax, 0x6d57
mov dword [rsp + 0x22c], eax
imul rax, qword [0x1800a6348], 0xf1
mov rcx, qword [0x1800a6310]
sub rcx, rax
mov rax, rcx
mov qword [0x1800a6310], rax
mov byte [0x1800a61fe], 0xfd
mov rax, qword [0x1800a62f8]
sub rax, qword [0x1800a62e8]
mov qword [0x1800a62f8], rax
mov eax, dword [rsp + 0x1b4]
mov ecx, dword [rsp + 0x1b0]
add eax, ecx
mov ecx, 0x48f6
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x174], eax
mov eax, dword [0x1803be0b0]
mov dword [rsp + 0xa0], eax
movzx eax, byte [rsp + 0x58]
movabs rcx, 0xab0acd4fc2ac9
sub rax, rcx
mov word [rsp + 0x48], ax
mov eax, dword [rsp + 0xa0]
add eax, 0xd2
mov dword [rsp + 0x150], eax
mov eax, dword [rsp + 0xa0]
add eax, 0x99
mov dword [rsp + 0x234], eax
mov rax, qword [rsp + 0xc0]
add rax, 0xe61f
mov dword [rsp + 0x70], eax
movzx eax, byte [rsp + 0x58]
mov ecx, dword [0x1800a6378]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x74], eax
mov eax, dword [rsp + 0xa0]
add eax, 0xf02f
mov dword [rsp + 0x238], eax
call qword [sym.imp.USER32.dll_GetFocus]
mov qword [rsp + 0x1a8], rax
cmp qword [rsp + 0x1a8], 0
je 0x1800267b1
mov rcx, qword [rsp + 0x1a8]
call qword [sym.imp.USER32.dll_IsWindow]
mov dword [rsp + 0x23c], eax
mov rcx, qword [rsp + 0x1a8]
call qword [sym.imp.USER32.dll_IsWindowVisible]
mov dword [rsp + 0x240], eax
mov rax, qword [0x1800a6338]
movsx rcx, byte [0x1800a6243]
cmp rax, rcx
jae 0x1800267c7
jmp 0x180026806
mov eax, 8
imul rax, rax, 0x1b
lea rcx, [0x1804bf540]
movzx edx, word [0x1800a6284]
add rdx, qword [rcx + rax]
mov rax, rdx
mov word [0x1800a6284], ax
mov eax, 4
imul rax, rax, 0x1a67
lea rcx, [0x18052efd0]
mov eax, dword [rcx + rax]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x150]
xor eax, 0x53
add eax, 0xffffff7f
mov dword [rsp + 0x178], eax
movzx eax, word [rsp + 0x48]
cwde
mov ecx, dword [rsp + 0x74]
sub eax, ecx
test eax, eax
je 0x1800268a6
mov rax, qword [rsp + 0xc0]
test rax, rax
je 0x1800268a6
movzx eax, word [rsp + 0x5c]
movzx ecx, byte [rsp + 0x42]
movzx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x68]
add ecx, eax
mov eax, ecx
test eax, eax
jne 0x180026863
mov qword [rsp + 0x1e0], 1
jmp 0x18002686f
mov qword [rsp + 0x1e0], 0
movzx eax, byte [rsp + 0x4d]
movzx ecx, word [rsp + 0x54]
movzx ecx, cx
not ecx
add eax, ecx
cdqe
movzx ecx, word [rsp + 0x48]
movsx rcx, cx
mov rdx, qword [0x1800a6318]
add rcx, rdx
add rax, rcx
sub rax, qword [rsp + 0x1e0]
mov byte [0x1800a622f], al
mov eax, dword [0x1803be0b0]
mov dword [rsp + 0xa4], eax
movzx eax, word [0x1800a6364]
test eax, eax
je 0x1800268ee
lea rax, [rsp + 0x258]
lea rcx, str.Lock_name
mov rdi, rax
mov rsi, rcx
mov ecx, 0x26
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x258]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [0x1800a6384], eax
mov eax, dword [rsp + 0xa4]
add eax, 0x145
mov dword [rsp + 0x158], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessorNumber]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0xa4]
add eax, 0xdf7d
mov dword [rsp + 0x15c], eax
mov rax, qword [0x1800a62f0]
movzx ecx, word [rsp + 0x5c]
cmp rax, rcx
jbe 0x18002693f
movzx eax, byte [0x1800a622b]
add eax, 0xaecaa75b
mov dword [rsp + 0x74], eax
mov eax, dword [rsp + 0xa4]
add eax, 0x3614
mov dword [rsp + 0x154], eax
mov eax, dword [0x1800a6378]
cdqe
cmp rax, qword [0x1800a6328]
je 0x180026965
jmp 0x18002698d
cmp dword [0x1800a637c], 0
je 0x18002698d
mov qword [0x1800a6328], 0xef
mov rax, qword [rsp + 0xb0]
add rax, 0xd4
mov byte [0x1800a61fb], al
mov byte [0x1800a622b], 0x52
movzx eax, word [0x1800a6380]
cwde
movzx ecx, byte [rsp + 0x45]
movsx ecx, cl
add ecx, 0x139daa97
cmp eax, ecx
jne 0x180026b27
movzx eax, byte [rsp + 0x45]
movsx rax, al
mov rcx, qword [0x1800a6340]
add rcx, rax
mov rax, rcx
cmp rax, 1
jne 0x180026b27
mov dword [rsp + 0x6c], 3
cmp qword [0x1800a6348], 0
je 0x1800269f5
movzx eax, byte [rsp + 0x41]
movzx eax, al
mov dword [rsp + 0xe4], eax
jmp 0x180026a06
movzx eax, word [0x1800a622c]
movzx eax, ax
mov dword [rsp + 0xe4], eax
mov eax, dword [rsp + 0xe4]
mov dword [rsp + 0x60], eax
movsxd rax, dword [0x1800a6368]
mov rcx, qword [0x1800a6300]
and rcx, rax
mov rax, rcx
mov qword [0x1800a6300], rax
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x78], eax
cmp dword [rsp + 0x78], 0
je 0x180026a59
cmp dword [rsp + 0x78], 1
je 0x180026a7c
cmp dword [rsp + 0x78], 2
je 0x180026aaa
cmp dword [rsp + 0x78], 3
je 0x180026ad5
jmp 0x180026af4
mov eax, dword [0x1800a62dc]
and eax, 0xa3
cdqe
mov rcx, qword [0x1800a6330]
add rcx, rax
mov rax, rcx
mov qword [0x1800a6330], rax
jmp 0x180026af4
movzx eax, byte [0x1800a61fe]
movzx ecx, byte [rsp + 0x4c]
movzx ecx, cl
add eax, ecx
mov byte [0x1800a61fe], al
movzx eax, word [rsp + 0x5c]
movzx ecx, byte [rsp + 0x41]
movzx ecx, cl
sub eax, ecx
mov dword [0x1800a626c], eax
jmp 0x180026af4
movsx rax, word [0x1800a6254]
mov rcx, qword [0x1800a6300]
sub rcx, rax
mov rax, rcx
mov rcx, qword [0x1800a6300]
and rcx, rax
mov rax, rcx
mov qword [0x1800a6300], rax
jmp 0x180026af4
movzx eax, word [0x1800a6284]
mov ecx, dword [0x1800a62dc]
add ecx, eax
mov eax, ecx
mov dword [0x1800a62dc], eax
mov dword [rsp + 0x64], 0x6deae39c
jmp 0x18002698d
mov qword [0x1800a6348], 2
movsx eax, byte [0x1800a622f]
mov ecx, dword [rsp + 0x60]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x60]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x60], eax
mov rax, qword [0x1800a6348]
mov qword [rsp + 0x1c0], rax
cmp qword [rsp + 0x1c0], 0
je 0x180026b82
cmp qword [rsp + 0x1c0], 1
je 0x180026bc9
cmp qword [rsp + 0x1c0], 2
je 0x180026bf1
jmp 0x180026c14
movsx eax, byte [rsp + 0x40]
test eax, eax
je 0x180026b9c
mov rax, qword [0x1800a6348]
mov qword [rsp + 0x1e8], rax
jmp 0x180026baf
movzx eax, word [0x1800a6380]
movsx rax, ax
mov qword [rsp + 0x1e8], rax
movzx eax, byte [rsp + 0x1e8]
mov byte [rsp + 0x42], al
movzx eax, word [rsp + 0x48]
cwde
shl eax, 1
mov byte [rsp + 0x43], al
jmp 0x180026c14
movsx rax, word [0x1800a6254]
movabs rcx, 0x286bb6892422a
add rax, rcx
mov byte [rsp + 0x46], al
mov eax, dword [0x1803be0b0]
mov qword [0x1800a6318], rax
jmp 0x180026c14
mov qword [rsp + 0x1c8], 0x41
movzx eax, word [0x1800a6380]
cwde
add eax, 0xb90a
cdqe
mov qword [rsp + 0xb0], rax
mov eax, dword [rsp + 0x154]
mov ecx, dword [rsp + 0x158]
imul eax, ecx
mov ecx, dword [rsp + 0x15c]
imul ecx, ecx, 0x21
or eax, ecx
add eax, 0xffa31083
mov dword [rsp + 0x17c], eax
mov byte [0x1800a61ff], 0x9c
mov eax, dword [0x1803be0b0]
mov dword [rsp + 0xa8], eax
mov eax, dword [rsp + 0xa8]
add eax, 0xc8
mov dword [rsp + 0x160], eax
movsx eax, byte [rsp + 0x59]
movzx ecx, word [0x1800a6284]
imul eax, ecx
mov ecx, dword [rsp + 0x64]
imul ecx, eax
mov eax, ecx
mov eax, eax
mov qword [0x1800a6338], rax
mov eax, dword [rsp + 0xa8]
add eax, 0x7b
mov dword [rsp + 0x164], eax
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov word [rsp + 0x48], ax
mov eax, dword [rsp + 0xa8]
add eax, 0x4887
mov dword [rsp + 0x1f8], eax
mov dword [rsp + 0x6c], 1
mov eax, dword [0x1800a6378]
cdqe
mov rcx, qword [0x1800a62e0]
imul rax, rcx
mov ecx, dword [0x1800a6378]
movsxd rcx, ecx
and rcx, rax
mov rax, rcx
mov dword [0x1800a6378], eax
mov eax, dword [rsp + 0x160]
imul eax, eax, 0xa6
mov ecx, dword [rsp + 0x164]
imul ecx, ecx, 0x92
imul eax, ecx
add eax, 0xdc769fe2
mov ecx, dword [rsp + 0xe8]
mov edx, dword [rsp + 0xe8]
sub ecx, edx
mov edx, dword [rsp + 0x168]
imul edx, edx, 0x2f8
imul ecx, edx
sub eax, ecx
mov dword [rsp + 0x180], eax
movzx eax, byte [0x1800a61fe]
mov ecx, 4
imul rcx, rcx, 0x4a
lea rdx, [0x1805b5370]
mov dword [rdx + rcx], eax
mov eax, dword [0x1803be0b0]
mov qword [0x1800a6370], rax
mov eax, dword [0x1803be0b0]
mov dword [rsp + 0xac], eax
movzx eax, byte [rsp + 0x4c]
movzx eax, al
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [rsp + 0x74], eax
mov eax, dword [rsp + 0xac]
add eax, 0x60c
mov dword [rsp + 0x104], eax
mov qword [0x1800a62e0], 4
mov rax, qword [0x1800a62e0]
mov qword [rsp + 0xb8], rax
cmp qword [rsp + 0xb8], 0
je 0x180026dec
cmp qword [rsp + 0xb8], 1
je 0x180026e26
cmp qword [rsp + 0xb8], 2
je 0x180026e77
cmp qword [rsp + 0xb8], 3
je 0x180026e8a
cmp qword [rsp + 0xb8], 4
je 0x180026e98
jmp 0x180026eac
movzx eax, word [0x1800a6360]
test eax, eax
je 0x180026e06
mov eax, dword [0x1800a6378]
mov dword [rsp + 0xec], eax
jmp 0x180026e12
movsx eax, byte [rsp + 0x59]
mov dword [rsp + 0xec], eax
movsxd rax, dword [rsp + 0xec]
mov qword [0x1800a6348], rax
jmp 0x180026eac
movzx eax, byte [rsp + 0x42]
movzx eax, al
and rax, qword [0x1800a62e8]
mov word [0x1800a636c], ax
mov eax, dword [rsp + 0x64]
test eax, eax
je 0x180026e57
movzx eax, word [0x1800a622c]
movzx eax, ax
mov dword [rsp + 0xf0], eax
jmp 0x180026e66
movzx eax, byte [rsp + 0x43]
movsx eax, al
mov dword [rsp + 0xf0], eax
movsxd rax, dword [rsp + 0xf0]
mov qword [0x1800a6348], rax
jmp 0x180026eac
mov eax, dword [rsp + 0x74]
imul eax, eax, 0x36133ad2
mov word [0x1800a636c], ax
jmp 0x180026eac
movzx eax, word [0x1803be0b0]
mov word [rsp + 0x5c], ax
jmp 0x180026eac
mov rax, qword [0x1800a6320]
add rax, 0x1ddd
mov word [0x1800a636c], ax
mov eax, dword [rsp + 0xac]
add eax, 0xa5
mov dword [rsp + 0x1fc], eax
mov rax, qword [0x1800a62f8]
movzx ecx, byte [rsp + 0x42]
movzx ecx, cl
cmp rax, rcx
jbe 0x180026ee0
mov dword [rsp + 0xf8], 1
jmp 0x180026eeb
mov dword [rsp + 0xf8], 0
mov rax, qword [0x1800a62f8]
cmp rax, 0x1f
jbe 0x180026f05
mov dword [rsp + 0xf4], 1
jmp 0x180026f10
mov dword [rsp + 0xf4], 0
mov eax, dword [rsp + 0xf4]
cmp dword [rsp + 0xf8], eax
jg 0x180026f3d
movzx eax, byte [rsp + 0x42]
movzx eax, al
movsx ecx, word [0x1800a6254]
sub eax, ecx
cdqe
mov qword [rsp + 0xb0], rax
jmp 0x180026f68
mov rax, qword [0x1800a62e8]
shl rax, 8
mov qword [0x1800a62e0], rax
movsx eax, byte [rsp + 0x44]
movzx ecx, word [rsp + 0x5c]
imul eax, ecx
mov ecx, dword [rsp + 0x70]
or ecx, eax
mov eax, ecx
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0xac]
add eax, 0x121
mov dword [rsp + 0x200], eax
movzx eax, byte [rsp + 0x42]
movzx eax, al
cmp eax, 0xe28
jge 0x180026f97
mov dword [rsp + 0xfc], 1
jmp 0x180026fa2
mov dword [rsp + 0xfc], 0
cmp qword [0x1800a6358], 0
jne 0x180026fb9
mov dword [rsp + 0x100], 1
jmp 0x180026fc4
mov dword [rsp + 0x100], 0
mov eax, dword [rsp + 0xfc]
imul eax, dword [rsp + 0x100]
not eax
movzx eax, byte [0x1800a61fb]
movsx eax, al
movsx ecx, word [0x1800a6254]
lea eax, [rcx + rax - 0x133e]
mov word [0x1800a6254], ax
mov eax, dword [rsp + 0x104]
mov ecx, dword [rsp + 0x104]
mov edx, 0xfffff518
lea rax, [rax + rdx]
lea eax, [rax + rcx]
mov dword [rsp + 0x194], eax
movzx eax, byte [0x1800a622b]
movzx ecx, byte [rsp + 0x4c]
movzx ecx, cl
cmp eax, ecx
je 0x180027035
mov dword [rsp + 0x10c], 1
jmp 0x180027040
mov dword [rsp + 0x10c], 0
movzx eax, byte [0x1800a622b]
cmp eax, 0x61
je 0x180027059
mov dword [rsp + 0x108], 1
jmp 0x180027064
mov dword [rsp + 0x108], 0
mov eax, dword [rsp + 0x108]
cmp dword [rsp + 0x10c], eax
jle 0x180027086
mov ecx, dword [0x1800a6348]
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [rsp + 0x60], eax
jmp 0x1800270d4
movzx eax, word [0x1800a622c]
movzx eax, ax
movzx ecx, byte [rsp + 0x43]
movsx ecx, cl
add eax, ecx
mov word [0x1800a622c], ax
movzx eax, word [0x1800a6244]
cwde
movzx ecx, byte [rsp + 0x43]
movsx ecx, cl
add eax, ecx
cdqe
movzx ecx, byte [0x1800a61fe]
mov rdx, qword [rsp + 0xc0]
and rdx, rcx
mov rcx, rdx
sub rax, rcx
mov qword [0x1800a6308], rax
mov eax, dword [0x1803be0b0]
mov dword [rsp + 0x84], eax
mov eax, dword [rsp + 0x16c]
mov ecx, dword [rsp + 0x84]
add eax, ecx
mov dword [rsp + 0x190], eax
xor eax, eax
cmp eax, 0x76654b5c
je 0x180027130
mov eax, dword [0x1800a6384]
movzx ecx, word [0x1800a6350]
movzx ecx, cx
cmp eax, ecx
jg 0x180027130
movzx eax, word [rsp + 0x48]
cwde
movsx ecx, word [0x1800a636c]
lea eax, [rcx + rax + 0x4cf9d6a1]
mov word [0x1800a636c], ax
mov eax, dword [rsp + 0x170]
mov ecx, dword [rsp + 0x84]
add eax, ecx
mov dword [rsp + 0x204], eax
mov eax, dword [rsp + 0x174]
mov ecx, dword [rsp + 0x84]
add eax, ecx
mov dword [rsp + 0x208], eax
mov eax, dword [0x1800a62dc]
and eax, 0xeb75
mov dword [0x1800a6368], eax
mov qword [rsp + 0x140], 0
mov eax, dword [0x1800a637c]
cmp qword [0x1800a6310], rax
ja 0x180027197
mov dword [rsp + 0x114], 1
jmp 0x1800271a2
mov dword [rsp + 0x114], 0
cmp qword [0x1800a6310], 0x50
ja 0x1800271b9
mov dword [rsp + 0x110], 1
jmp 0x1800271c4
mov dword [rsp + 0x110], 0
mov eax, dword [rsp + 0x110]
cmp dword [rsp + 0x114], eax
jg 0x180027212
movzx eax, word [rsp + 0x48]
cwde
test eax, eax
jne 0x1800271eb
mov dword [rsp + 0x118], 1
jmp 0x1800271f6
mov dword [rsp + 0x118], 0
movzx eax, byte [rsp + 0x43]
movsx eax, al
add eax, dword [rsp + 0x118]
mov byte [rsp + 0x44], al
mov byte [0x1800a61fb], 0x7f
jmp 0x180027225
movzx eax, byte [rsp + 0x4d]
mov rcx, qword [0x1800a6338]
sub rax, rcx
mov byte [rsp + 0x4d], al
mov eax, dword [rsp + 0x178]
mov dword [rsp + 0x1a0], eax
mov rax, qword [0x1800a62e0]
mov ecx, 8
imul rcx, rcx, 0x24
lea rdx, [0x18066fa40]
mov qword [rdx + rcx], rax
mov eax, dword [rsp + 0x17c]
mov dword [rsp + 0x138], eax
movzx eax, word [0x1800a6360]
mov dword [rsp + 0x18c], 0x40000000
movsx eax, byte [0x1800a622f]
movsx ecx, word [0x1800a6254]
cmp eax, ecx
jl 0x18002728d
mov dword [rsp + 0x120], 1
jmp 0x180027298
mov dword [rsp + 0x120], 0
movsx eax, byte [0x1800a622f]
cmp eax, 0xd
jl 0x1800272b1
mov dword [rsp + 0x11c], 1
jmp 0x1800272bc
mov dword [rsp + 0x11c], 0
mov eax, dword [rsp + 0x11c]
cmp dword [rsp + 0x120], eax
jge 0x1800272df
mov rax, qword [0x1800a6328]
add rax, 0xfbaf
mov byte [rsp + 0x58], al
jmp 0x18002733b
movzx eax, byte [0x1800a622b]
movabs rcx, 0xd662554899d62
cmp rax, rcx
jle 0x180027302
mov dword [rsp + 0x124], 1
jmp 0x18002730d
mov dword [rsp + 0x124], 0
mov eax, dword [rsp + 0x124]
not eax
test eax, eax
je 0x18002733b
movzx eax, word [rsp + 0x54]
movzx eax, ax
mov dword [0x1800a6378], eax
mov rax, qword [rsp + 0xc0]
dec rax
mov qword [rsp + 0xc0], rax
mov eax, dword [rsp + 0x180]
mov dword [rsp + 0x188], eax
mov dword [rsp + 0x184], 0x80
mov qword [rsp + 0x30], 0
mov eax, dword [rsp + 0x184]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x188]
mov dword [rsp + 0x20], eax
xor r9d, r9d
xor r8d, r8d
mov edx, dword [rsp + 0x18c]
mov rcx, qword [rsp + 0x2a0]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov qword [rsp + 0x140], rax
mov eax, dword [rsp + 0x190]
mov ecx, dword [rsp + 0x194]
cmp eax, ecx
je 0x18002768b
mov eax, dword [0x1803be0b0]
mov dword [rsp + 0x88], eax
movzx eax, byte [0x1800a622e]
movsx eax, al
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov eax, eax
mov qword [0x1800a6370], rax
mov eax, dword [rsp + 0x88]
add eax, 0x11f
mov dword [rsp + 0x198], eax
movzx eax, word [rsp + 0x48]
movsx rax, ax
cmp rax, qword [0x1800a6310]
jb 0x180027406
mov dword [rsp + 0x12c], 1
jmp 0x180027411
mov dword [rsp + 0x12c], 0
movzx eax, word [rsp + 0x48]
cwde
cmp eax, 0x44
jl 0x180027429
mov dword [rsp + 0x128], 1
jmp 0x180027434
mov dword [rsp + 0x128], 0
mov eax, dword [rsp + 0x128]
mov eax, dword [rsp + 0x88]
add eax, 0x105
mov dword [rsp + 0x20c], eax
mov eax, dword [rsp + 0x88]
add eax, 0x3afe
mov dword [rsp + 0x210], eax
mov eax, 3
mov word [rsp + 0x54], ax
movzx eax, word [0x1800a62c4]
movzx eax, ax
movabs rcx, 0xaaeba8d9acf32
xor rax, rcx
mov word [0x1800a6360], ax
movzx eax, word [rsp + 0x54]
movzx eax, ax
mov dword [rsp + 0x7c], eax
cmp dword [rsp + 0x7c], 0
je 0x1800274ba
cmp dword [rsp + 0x7c], 1
je 0x1800274fa
cmp dword [rsp + 0x7c], 2
je 0x180027527
cmp dword [rsp + 0x7c], 3
je 0x18002753a
jmp 0x18002754d
movsx rax, byte [0x1800a622f]
add rax, qword [0x1800a6328]
mov ecx, dword [0x1800a6384]
movsxd rcx, ecx
sub rax, rcx
mov byte [0x1800a6243], al
movsx eax, byte [rsp + 0x40]
movzx ecx, word [rsp + 0x54]
movzx ecx, cx
imul eax, ecx
movsx ecx, byte [rsp + 0x40]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x40], al
jmp 0x18002754d
mov rax, qword [0x1800a62f0]
xor rax, 0x4610
mov ecx, dword [rsp + 0x70]
movsxd rcx, ecx
or rcx, rax
mov rax, rcx
mov dword [rsp + 0x70], eax
mov eax, dword [0x1803be0b0]
mov qword [0x1800a62e8], rax
jmp 0x18002754d
mov rax, qword [0x1800a6338]
dec rax
mov qword [0x1800a6338], rax
jmp 0x18002754d
movzx eax, byte [0x1800a61fb]
movsx eax, al
sub eax, 0x50351151
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x198]
or eax, 0x2a
xor eax, 0x13e
mov dword [rsp + 0x19c], eax
cmp qword [rsp + 0x140], 0xffffffffffffffff
jne 0x18002768b
mov byte [0x1800a61fb], 1
movzx eax, byte [rsp + 0x41]
movzx eax, al
add eax, 0x530009d2
mov byte [0x1800a61fe], al
movzx eax, byte [0x1800a61fb]
mov byte [rsp + 0x130], al
cmp byte [rsp + 0x130], 0
je 0x1800275b0
cmp byte [rsp + 0x130], 1
je 0x1800275cc
jmp 0x1800275f9
movsx rax, byte [rsp + 0x40]
mov rcx, qword [0x1800a6338]
sub rcx, rax
mov rax, rcx
mov qword [0x1800a6338], rax
jmp 0x1800275f9
movzx eax, byte [rsp + 0x46]
add eax, 0xa0db
cdqe
mov qword [0x1800a62e0], rax
movzx eax, word [0x1800a6380]
cwde
add eax, 0xdee
movsx ecx, byte [rsp + 0x40]
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x40], al
movabs rax, 0xacab6d7c63974
mov qword [0x1800a6370], rax
mov eax, dword [0x1800a6378]
cdqe
movzx ecx, byte [rsp + 0x45]
movsx rcx, cl
mov rdx, qword [0x1800a6370]
add rdx, rcx
mov rcx, rdx
cmp rax, rcx
jne 0x180027671
mov ecx, dword [0x1800a6330]
call qword [sym.imp.KERNEL32.dll_SetLastError]
movzx eax, word [0x1800a6364]
movzx ecx, word [rsp + 0x54]
movzx ecx, cx
add ecx, 0xdc
cmp eax, ecx
jne 0x180027671
movzx eax, word [rsp + 0x48]
cwde
xor eax, 0x527db0e0
mov dword [rsp + 0x70], eax
jmp 0x1800275f9
movzx eax, byte [rsp + 0x46]
sub eax, 0x564f
mov byte [rsp + 0x4d], al
mov eax, dword [rsp + 0x19c]
jmp 0x180027807
movzx eax, word [0x1800a62c4]
movzx eax, ax
mov ecx, dword [rsp + 0x64]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x64]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x64], eax
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x1a0]
mov r8d, dword [rsp + 0x2b0]
mov rdx, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x140]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [rsp + 0x138], eax
mov rcx, qword [rsp + 0x140]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
movzx eax, word [0x1800a622c]
movzx eax, ax
test eax, eax
je 0x1800277c1
movzx eax, byte [rsp + 0x43]
movsx eax, al
movzx ecx, byte [rsp + 0x46]
cmp eax, ecx
jge 0x18002776f
mov rax, qword [0x1800a62f8]
test rax, rax
je 0x18002772d
mov rax, qword [0x1800a6370]
mov qword [rsp + 0x1f0], rax
jmp 0x18002773c
mov rax, qword [0x1800a6308]
mov qword [rsp + 0x1f0], rax
mov rax, qword [rsp + 0x1f0]
mov qword [0x1800a6340], rax
movsx eax, word [0x1800a6254]
movzx ecx, word [0x1800a6364]
sub eax, ecx
movsx ecx, word [0x1800a6254]
sub ecx, eax
mov eax, ecx
mov word [0x1800a6254], ax
jmp 0x1800277bf
movzx eax, byte [0x1800a622b]
mov rcx, qword [rsp + 0xb0]
imul rax, rcx
test rax, rax
jne 0x180027794
mov dword [rsp + 0x134], 1
jmp 0x18002779f
mov dword [rsp + 0x134], 0
mov eax, dword [rsp + 0x134]
mov dword [rsp + 0x68], eax
movzx eax, byte [0x1800a61fe]
movsx ecx, byte [rsp + 0x40]
add eax, ecx
mov word [0x1800a6350], ax
jmp 0x180027800
movzx eax, byte [rsp + 0x46]
test eax, eax
je 0x180027800
movzx eax, byte [0x1800a622e]
movsx rax, al
movabs rcx, 0xf37cd250ea117
imul rax, rcx
mov byte [rsp + 0x42], al
movsx eax, word [rsp + 0x50]
mov ecx, dword [rsp + 0x68]
sub eax, ecx
movsx ecx, word [rsp + 0x50]
add ecx, eax
mov eax, ecx
mov word [rsp + 0x50], ax
mov eax, dword [rsp + 0x138]
add rsp, 0x288
pop rdi
pop rsi
ret