Function at 0x140088508
Capabilities:
Encode data using base64
Read file on windows
Resolve function by parsing pe exports
Write file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1a0
mov r12, rcx
lea rcx, [rax - 0x70]
call fcn.1400632a0
lea rcx, [rsp + 0x1e8]
xor ebp, ebp
mov qword [rsp + 0x170], r12
mov qword [rsp + 0x178], rbp
call fcn.14005aec8
lea rcx, [rsp + 0xb8]
call fcn.1400632a0
lea rcx, [rsp + 0xd8]
call fcn.1400632a0
lea rcx, [rsp + 0x138]
call fcn.1400632a0
lea rcx, [rsp + 0x98]
call fcn.1400632a0
mov r11, qword [rsp + 0x1e8]
lea r13d, [rbp + 1]
lea r8d, [rbp + 0x2c]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x168]
mov r9b, r13b
mov qword [rsp + 0x58], r11
call fcn.14007f2f0
lea rdx, [rsp + 0xb8]
xor r8d, r8d
mov rcx, rax
call fcn.140067288
mov r9, qword [rsp + 0xb8]
mov rbx, rbp
movzx eax, word [r9]
mov byte [rsp + 0x80], bpl
mov byte [rsp + 0x48], bpl
mov sil, bpl
mov rcx, r9
mov qword [rsp + 0x1f8], rbx
lea edx, [rbp + 0x20]
lea r8d, [rbp + 9]
lea r14d, [rbp + 0xd]
lea r15d, [rbp + 2]
cmp ax, bp
je 0x140088645
cmp r8w, ax
ja 0x14008860f
cmp ax, r14w
jbe 0x140088614
cmp dx, ax
jne 0x140088617
mov rbx, rcx
add rcx, r15
mov ax, word [rcx]
cmp ax, bp
jne 0x140088603
mov qword [rsp + 0x1f8], rbx
cmp rbx, rbp
je 0x140088645
mov word [rbx], bp
mov r9, qword [rsp + 0xb8]
add rbx, r15
mov qword [rsp + 0x1f8], rbx
mov qword [rsp + 0x1e8], r9
mov dword [rsp + 0x90], 6
mov edi, 0x2a
cmp rbx, rbp
je 0x140088766
cmp di, word [r9]
jne 0x140088766
mov ebx, edx
lea r12d, [rdi + 3]
cmp r12w, word [r9 + 2]
je 0x14008874e
lea rdx, [rsp + 0x1e8]
lea rcx, str.nobom
mov r8d, 6
call fcn.140065d7c
cmp al, bpl
je 0x1400886aa
mov byte [rsp + 0x48], r13b
jmp 0x14008873c
lea rdx, [rsp + 0x1e8]
lea rcx, str.transonly
mov r8d, 0xa
call fcn.140065d7c
cmp al, bpl
je 0x1400886d3
mov byte [rsp + 0x80], r13b
jmp 0x14008873c
lea rdx, [rsp + 0x1e8]
lea rcx, [0x14012763c]
mov r8d, 3
call fcn.140065d7c
cmp al, bpl
je 0x1400886f7
mov sil, r13b
jmp 0x14008873c
mov rcx, qword [rsp + 0x1e8]
movzx eax, word [rcx]
cmp ax, bp
je 0x14008872f
mov edx, 9
cmp dx, ax
ja 0x140088717
cmp ax, r14w
jbe 0x140088727
cmp bx, ax
je 0x140088727
add rcx, r15
mov ax, word [rcx]
cmp ax, bp
jne 0x14008870c
mov qword [rsp + 0x1e8], rcx
lea rcx, [rsp + 0x1e8]
call fcn.14005aec8
mov r9, qword [rsp + 0x1e8]
cmp di, word [r9]
je 0x140088676
mov r9, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0x1f8]
mov r12, qword [rsp + 0x1e0]
mov byte [rsp + 0x75], bpl
mov dil, bpl
mov byte [rsp + 0x1f8], bpl
mov byte [rsp + 0x1e8], bpl
mov r14b, bpl
mov byte [rsp + 0x60], bpl
cmp rbx, rbp
je 0x1400887d0
lea rcx, [rsp + 0xc0]
mov rdx, rbx
call fcn.14006ff14
mov r11, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xb8]
lea rcx, [rsp + 0xc0]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xb8], r11
call fcn.14005aef8
mov r9, qword [rsp + 0xb8]
cmp sil, bpl
je 0x140089dd2
lea rdx, [rsp + 0xb8]
xor r8d, r8d
mov rcx, r12
call fcn.140003a44
mov rax, qword [rsp + 0xb8]
or r14, 0xffffffffffffffff
lea edi, [r14 + 0x2b]
lea rcx, [rsp + 0x1e8]
mov qword [rsp + 0x50], r14
lea edx, [rdi + 0x52]
mov r8d, edi
mov qword [rsp + 0x1e8], rax
call fcn.14005b0c8
mov rcx, qword [rsp + 0x1e8]
cmp word [rcx], bp
je 0x14008882f
mov word [rcx], bp
add rcx, r15
movzx edx, word [rcx]
mov r8d, 9
lea eax, [rdx - 0x30]
cmp ax, r8w
ja 0x140088855
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x58]
call fcn.140007c18
mov rsi, rbp
jmp 0x14008885e
neg dx
sbb rsi, rsi
and rsi, rcx
mov rdx, qword [rsp + 0x58]
lea r8, [rsp + 0x98]
xor r9d, r9d
mov rcx, r12
mov byte [rsp + 0x20], r13b
call fcn.14007bba4
mov r11, qword [rsp + 0x98]
mov ebx, 0x2c
mov qword [rsp + 0x58], r11
mov r8, rbp
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x148], rbp
mov qword [rsp + 0x158], rbp
cmp bx, word [r11]
jne 0x1400888b3
add r11, r15
mov qword [rsp + 0x58], r11
lea rcx, [rsp + 0x58]
call fcn.14005aec8
mov rcx, qword [rsp + 0x58]
mov r15w, word [rcx]
mov dword [rsp + 0x64], r15d
cmp r15w, bp
je 0x140088ada
mov edx, 0x2b
mov r10d, 0x3a3
lea eax, [rdx + 0x14]
lea r9d, [r10 - 3]
cmp dx, r15w
jne 0x140088901
cmp dx, word [rcx + 2]
jne 0x140088934
add rcx, 2
mov r15d, r10d
mov dword [rsp + 0x64], r10d
jmp 0x140088934
cmp di, r15w
jne 0x14008891a
cmp di, word [rcx + 2]
jne 0x140088934
mov r15w, r9w
add rcx, 2
mov dword [rsp + 0x64], r15d
cmp r9w, r15w
jne 0x140088927
mov qword [rsp + 0x68], r13
jmp 0x140088934
cmp ax, r15w
cmove r8, r14
mov qword [rsp + 0x68], r8
mov r11d, 2
add rcx, r11
mov qword [rsp + 0x58], rcx
lea rcx, [rsp + 0x58]
call fcn.14005aec8
mov r10, qword [rsp + 0x58]
mov eax, 0x3a9
cmp ax, r15w
lea edi, [r11 + 0x3d]
movzx r9d, r15w
cmove r9w, di
mov eax, 0x3a3
mov word [rsp + 0x1f8], r9w
cmp ax, r15w
je 0x140088990
mov eax, 0x3a0
cmp ax, r15w
je 0x140088990
cmp di, r9w
jne 0x140088b6b
cmp bx, word [r10]
je 0x140088b75
lea rcx, [rsp + 0x58]
mov edx, ebx
mov r13, r10
mov qword [rsp + 0x148], r10
call fcn.1400e8c3c
mov r10, qword [rsp + 0x58]
cmp word [r10], bp
je 0x1400889cd
mov word [r10], bp
mov r10, qword [rsp + 0x58]
add r10, r11
mov qword [rsp + 0x58], r10
cmp di, r9w
jne 0x140088a03
mov rbx, r13
cmp word [r13], bp
je 0x140088a01
mov eax, 0x2b
lea r9d, [rax + 2]
cmp ax, word [rbx]
je 0x140088b34
cmp r9w, word [rbx]
je 0x140088b2a
add rbx, r11
cmp word [rbx], bp
jne 0x1400889e6
mov ebx, edx
mov r13d, 1
mov eax, 0x2a
mov rdi, rbp
mov qword [rsp + 0x110], rbp
mov qword [rsp + 0xe0], rbp
mov qword [rsp + 0xc0], r14
mov qword [rsp + 0x128], rbp
mov qword [rsp + 0xf8], rbp
mov qword [rsp + 0xc8], 0xfffffffffffe0000
mov qword [rsp + 0x108], r13
mov qword [rsp + 0x120], r13
mov qword [rsp + 0x100], rbp
mov dword [rsp + 0x1e8], ebp
cmp ax, word [r10]
jne 0x140088a7a
add r10, r11
mov dword [rsp + 0x1e8], r13d
mov qword [rsp + 0x58], r10
mov eax, 0x26
lea rcx, [rsp + 0x58]
cmp ax, word [r10]
jne 0x140088b82
mov eax, 3
mov edx, ebx
mov dword [rsp + 0x1e8], eax
call fcn.1400e8c3c
mov rcx, qword [rsp + 0x58]
cmp word [rcx], bp
je 0x140088ab3
mov word [rcx], bp
add qword [rsp + 0x58], r11
mov r9d, r14d
xor r8d, r8d
mov rdx, r10
mov rcx, r12
mov qword [rsp + 0x20], rbp
call fcn.1400189c4
mov qword [rsp + 0x100], rax
cmp rax, rbp
jne 0x140088ba7
mov rbp, 0xffffffff80070057
lea rcx, [rsp + 0x98]
call fcn.14005aef8
lea rcx, [rsp + 0x138]
call fcn.14005aef8
lea rcx, [rsp + 0xd8]
call fcn.14005aef8
lea rcx, [rsp + 0xb8]
call fcn.14005aef8
lea rcx, [rsp + 0x168]
call fcn.14005aef8
mov rax, rbp
jmp 0x14008ae34
mov qword [rsp + 0x1e8], rbx
jmp 0x140088b40
lea rax, [rbx + 2]
mov qword [rsp + 0x1e8], rax
lea rdx, [rsp + 0x158]
lea rcx, [rsp + 0x1e8]
call fcn.1400679a0
mov word [rbx], bp
mov r10, qword [rsp + 0x58]
mov ebx, 0x2c
lea r11d, [rbx - 0x2a]
jmp 0x140088a03
cmp bx, word [r10]
jne 0x140088a09
add r10, r11
mov qword [rsp + 0x58], r10
jmp 0x140088a09
lea rdx, [rsp + 0xe0]
call fcn.140007c18
cmp eax, ebp
jle 0x140088ada
mov rdi, qword [rsp + 0xe0]
mov qword [rsp + 0x110], rdi
mov ecx, 0x3e
lea edx, [rcx - 0x11]
cmp dx, r15w
jne 0x140088bbb
lea r15d, [rcx - 0x13]
jmp 0x140088bca
mov eax, 0x3c
cmp ax, r15w
jne 0x140088bda
mov r15w, cx
neg rdi
mov dword [rsp + 0x64], r15d
mov qword [rsp + 0x110], rdi
mov rax, qword [rsp + 0x58]
mov r13d, ebp
mov ebx, 2
cmp dx, word [rax]
sete r13b
cmp r13d, ebp
je 0x140088bfb
add rax, rbx
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x108]
lea rcx, [rsp + 0x58]
call fcn.140074228
cmp eax, ebp
jle 0x140088ada
cmp qword [rsp + 0x108], rbp
jle 0x140088ada
mov rax, qword [rsp + 0x108]
mov ecx, 0x40
mov qword [rsp + 0x40], rax
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x58]
cmp cx, word [rax]
jne 0x140088c74
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0x58]
call fcn.140074228
cmp eax, ebp
jle 0x140088ada
cmp qword [rsp + 0x120], rbp
jle 0x140088ada
mov rax, qword [rsp + 0x58]
mov ecx, 0x2f
cmp cx, word [rax]
jne 0x140088cb3
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x58]
call fcn.140074228
cmp eax, ebp
jle 0x140088ada
mov rax, qword [rsp + 0xe0]
cmp rax, rbp
mov qword [rsp + 0x40], rax
jle 0x140088ada
mov rax, qword [rsp + 0x58]
cmp word [rax], bp
je 0x140088cc0
add rax, rbx
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x58]
mov qword [rsp + 0xe0], rbp
call fcn.140007c18
mov rdi, qword [rsp + 0xe0]
cmp rdi, rbp
jl 0x140088ada
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x58]
call fcn.140007c18
lea rcx, [0x14013e190]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rdx, qword [rsp + 0xb8]
mov r9d, r14d
xor r8d, r8d
mov rcx, r12
mov qword [rsp + 0x20], rbp
call fcn.1400189c4
mov rbx, rax
cmp rax, rbp
je 0x140088f31
mov r15, rbp
cmp rsi, rbp
je 0x140088d52
mov r9d, r14d
xor r8d, r8d
mov rdx, rsi
mov rcx, r12
mov qword [rsp + 0x20], rbp
call fcn.1400189c4
mov r15, rax
mov rsi, qword [rbx + 0x18]
movabs rcx, 0x3fffffffffffffff
and rsi, rcx
cmp rdi, rsi
jge 0x140088f31
cmp rsi, rbp
jle 0x140088f31
mov r12, qword [rsp + 0xc0]
mov rcx, qword [rbx + 8]
mov rax, rsi
cmp r12, rbp
mov qword [rsp + 0xe0], rcx
cmovle r12, rsi
sub rax, rdi
cmp r12, rax
cmovg r12, rax
cmp rax, r12
cmovg rax, r12
cmp rax, rbp
mov qword [rsp + 0xf0], rax
jle 0x140088f31
mov edx, dword [rsp + 0x64]
lea rbx, [rcx + rdi]
mov ecx, 0x68
movzx eax, dx
lea r10d, [rcx + 7]
or ax, 0x20
cmp cx, ax
je 0x140088de1
lea ecx, [r10 - 1]
cmp cx, ax
je 0x140088de1
cmp r10w, ax
jne 0x140088de9
mov dx, r10w
mov dword [rsp + 0x64], edx
mov ecx, 0x5e
mov eax, 0x3a9
lea r11d, [rcx - 0x3b]
lea r9d, [rcx - 0x30]
lea r14d, [rcx - 0x5a]
cmp ax, dx
jne 0x140088e2c
lea eax, [rcx - 0x55]
mov byte [rsp + 0x90], al
cmp r10w, dx
jne 0x140088f43
mov r13, qword [rsp + 0x110]
cmp rdi, r13
cmovg rdi, r13
jmp 0x140088f4b
mov eax, 0x3f
cmp ax, dx
jne 0x140088e40
mov byte [rsp + 0x90], 8
jmp 0x140088e0e
mov eax, 0x7c
cmp ax, dx
jne 0x140088e54
mov byte [rsp + 0x90], 7
jmp 0x140088e0e
mov eax, 0x26
cmp ax, dx
je 0x140088e0e
mov eax, 0x3a0
cmp ax, dx
jne 0x140088e73
neg r13d
sbb al, al
and al, 5
add al, 5
jmp 0x140088e07
mov eax, 0x2a
cmp ax, dx
jne 0x140088e87
cmp r13d, ebp
setne al
add al, 0xb
jmp 0x140088e07
mov r8d, 0x2f
cmp r8w, dx
jne 0x140088ea5
cmp r13d, ebp
je 0x140088ea5
mov byte [rsp + 0x90], 0xf
jmp 0x140088e0e
cmp cx, dx
sete al
movzx ecx, al
mov eax, 0x3e
cmp ax, dx
mov eax, 2
cmove ecx, eax
cmp r9w, dx
mov r9d, 0x2d
movzx eax, cl
mov ecx, 3
cmove eax, ecx
cmp r9w, dx
movzx ecx, al
lea eax, [r9 - 0x20]
cmove ecx, eax
movzx eax, cl
mov ecx, 0x3a3
cmp cx, dx
cmove eax, r14d
cmp r8w, dx
movzx ecx, al
lea eax, [r9 - 0x1f]
cmove ecx, eax
mov al, cl
mov dword [rsp + 0x90], eax
cmp al, bpl
jne 0x140088e0e
lea eax, [r9 - 2]
cmp ax, dx
je 0x140088e0e
cmp r11w, dx
je 0x140088e0e
cmp r10w, dx
je 0x140088e18
lea rcx, [0x14013e190]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x140088ada
mov r13, qword [rsp + 0x110]
lea rdx, [rsp + 0x128]
lea rcx, [rsp + 0x58]
call fcn.140007c18
mov rax, qword [rsp + 0x128]
lea rdx, [rsp + 0xc8]
cmp rax, rbp
lea rcx, [rsp + 0x58]
cmove rax, r12
mov qword [rsp + 0x88], rax
call fcn.140007c18
mov r12, qword [rsp + 0xc8]
cmp r12, rbp
jg 0x140088fcb
cmp r12, 0xfffffffffffe0000
je 0x140088fbf
mov rax, qword [rsp + 0x88]
mov rcx, rax
neg rcx
cmp rax, rbp
cmovge rcx, rax
sub rsi, rdi
mov rax, rsi
cqo
idiv rcx
mov r12, rax
cmp r12, rbp
mov eax, 1
cmovle r12, rax
lea rdx, [rsp + 0xf8]
lea rcx, [rsp + 0x58]
call fcn.140007c18
mov rax, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0xf0]
mov r8, qword [rsp + 0xe0]
movsxd rsi, dword [rsp + 0x1e8]
cmp rax, rbp
cmove rax, qword [rsp + 0x88]
mov ecx, edx
mov r10d, 2
mov qword [rsp + 0x190], rax
mov eax, edx
mov qword [rsp + 0x140], rbx
and eax, 7
sub ecx, eax
mov dword [rsp + 0xe8], eax
mov dword [rsp + 0x154], ecx
lea rcx, [r8 + r13]
mov qword [rsp + 0xa8], rcx
test r10b, sil
je 0x14008905b
mov rax, qword [rsp + 0x100]
mov rcx, qword [rax + 8]
mov qword [rsp + 0xa8], rcx
mov rax, qword [rsp + 0x50]
mov rcx, rbx
mov qword [rsp + 0xd0], rbx
cmp rax, rbp
jl 0x14008907c
lea rcx, [r8 + rax]
mov qword [rsp + 0xd0], rcx
cmp r15, rbp
je 0x14008908d
mov rcx, qword [r15 + 8]
mov qword [rsp + 0xd0], rcx
movzx r8d, word [rsp + 0x108]
mov r9, qword [rsp + 0x120]
mov r15d, dword [rsp + 0x64]
lea eax, [r9 + r9]
mov rdi, rcx
mov dword [rsp + 0xa0], r13d
mov dword [rsp + 0xec], eax
mov rax, rdx
mov word [rsp + 0x80], r13w
cqo
mov byte [rsp + 0x1e8], r13b
idiv r8
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x198], rdx
mov rax, r8
cqo
idiv r9
lea rcx, [rax - 1]
cqo
sub rax, rdx
mov qword [rsp + 0x180], rcx
sar rax, 1
mov qword [rsp + 0x128], rax
imul rcx, r9
mov qword [rsp + 0xf8], rcx
mov rcx, rax
mov rax, r8
imul rcx, r9
sub rax, rcx
cmp r8, r10
setge cl
cmp r8, r14
mov qword [rsp + 0x100], rax
movzx edx, cl
mov ecx, 3
cmovge edx, r10d
cmp r8, 8
movzx eax, dl
cmovge eax, ecx
mov dword [rsp + 0x150], eax
lea eax, [rcx + 0x3b]
cmp ax, r15w
je 0x140089186
lea eax, [rcx + 0x2b]
cmp ax, r15w
je 0x140089186
lea eax, [rcx + 0x23]
cmp ax, r15w
je 0x140089186
lea eax, [rcx + 0x79]
cmp ax, r15w
je 0x140089186
lea eax, [rcx + 0x3c]
cmp ax, word [rsp + 0x1f8]
mov byte [rsp + 0x1f8], 1
jne 0x14008918e
mov byte [rsp + 0x1f8], bpl
lea rcx, [rsp + 0x118]
mov rdx, r8
call fcn.140063028
mov rcx, qword [rsp + 0x40]
movzx r8d, word [rsp + 0x108]
mov r11d, dword [rsp + 0xe8]
mov r10d, ecx
mov qword [rsp + 0x50], rsi
sub r10d, r8d
sub r12, 1
mov qword [rsp + 0xc8], r12
mov dword [rsp + 0x70], r10d
js 0x140089d8a
mov r9, qword [rsp + 0xa8]
mov r14, qword [rsp + 0xf0]
mov rax, qword [rsp + 0x88]
mov rdx, qword [rsp + 0xd0]
mov esi, 0x23
cmp si, r15w
jne 0x140089367
cmp r10d, ebp
je 0x1400892e0
mov rcx, qword [rsp + 0xa8]
mov rdx, r9
add r9, r14
cmp rcx, r9
jae 0x140089d7d
mov rcx, qword [rsp + 0x40]
lea r10d, [r8 - 1]
mov r12d, 1
cmp r10d, ebp
mov r8d, r10d
jl 0x140089254
mov al, byte [rbx]
mov cl, byte [rdx]
mov byte [rdx], al
mov byte [rbx], cl
add rbx, r12
add rdx, r12
sub r8d, r12d
jns 0x14008923c
mov rcx, qword [rsp + 0x40]
add rdx, rcx
add rbx, rcx
cmp rdx, r9
jb 0x140089234
mov r12, qword [rsp + 0xc8]
mov r9, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x88]
mov rdx, qword [rsp + 0xd0]
mov r10d, dword [rsp + 0x70]
mov r8, qword [rsp + 0x190]
mov rbx, qword [rsp + 0x140]
add r9, rax
add rdx, r8
add rbx, r8
sub r12, 1
mov qword [rsp + 0xc8], r12
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0xd0], rdx
mov rdi, rdx
mov qword [rsp + 0xa8], r9
js 0x140089d8a
mov r13, qword [rsp + 0x110]
movzx r8d, word [rsp + 0x108]
jmp 0x1400891fb
mov rdi, qword [rsp + 0xa8]
movsxd r8, dword [rsp + 0x154]
add r8, rdi
mov rdx, rdi
cmp rdi, r8
jae 0x140089319
mov rax, qword [rbx]
mov rcx, qword [rdx]
mov qword [rdx], rax
add rdx, 8
mov qword [rbx], rcx
add rbx, 8
cmp rdx, r8
jb 0x1400892fb
mov rcx, qword [rsp + 0x40]
movsxd rax, r11d
cmp rax, rbp
jle 0x14008934f
lea r8d, [r11 - 1]
cmp r8d, ebp
jl 0x14008934f
sub rbx, rdx
mov r15d, 1
mov al, byte [rdx]
mov cl, byte [rbx + rdx]
mov byte [rbx + rdx], al
mov byte [rdx], cl
add rdx, r15
sub r8d, r15d
jns 0x140089333
mov r15d, dword [rsp + 0x64]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x88]
mov r9, rdi
mov rdx, qword [rsp + 0xd0]
jmp 0x140089284
mov r8d, 0x6f
cmp r8w, r15w
jne 0x1400895d9
cmp r10d, ebp
je 0x1400894c3
mov r9, qword [rsp + 0xf0]
mov rdi, qword [rsp + 0xa8]
mov rax, r9
lea r14, [rdi + r9]
mov rsi, rdi
cqo
mov qword [rsp + 0x130], r14
idiv rcx
lea r8, [rax - 1]
imul r8, rcx
add r8, rbx
cmp rdi, r14
jae 0x140089d58
mov r15, qword [rsp + 0x128]
mov rax, qword [rsp + 0x180]
movsxd r12, r10d
cmp rax, rbp
mov r10, rax
jl 0x140089470
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0xf8]
mov r14, qword [rsp + 0x120]
lea r13, [r15 - 1]
movsxd r15, dword [rsp + 0xec]
cmp r13, rbp
lea r8, [rcx + rbx]
mov r9, r13
jl 0x14008944f
lea edi, [r14 - 1]
mov r14d, 1
cmp edi, ebp
mov edx, edi
jl 0x14008942f
mov al, byte [r8]
mov cl, byte [rbx]
mov byte [rbx], al
mov byte [r8], cl
add r8, r14
add rbx, r14
sub edx, r14d
jns 0x14008941a
sub r8, r15
sub r9, r14
jns 0x140089414
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0xf8]
mov r14, qword [rsp + 0x120]
add rbx, rax
sub r10, 1
jns 0x1400893fe
mov r14, qword [rsp + 0x130]
mov r15, qword [rsp + 0x128]
mov rax, qword [rsp + 0x180]
add rsi, r12
sub r8, r12
cmp rsi, r14
jb 0x1400893ce
mov r15d, dword [rsp + 0x64]
mov rcx, qword [rsp + 0x40]
mov r12, qword [rsp + 0xc8]
mov r9, qword [rsp + 0xa8]
mov r14, qword [rsp + 0xf0]
mov rax, qword [rsp + 0x88]
mov rdx, qword [rsp + 0xd0]
mov r11d, dword [rsp + 0xe8]
mov esi, 0x23
jmp 0x14008927f
mov edi, 1
cmp qword [rsp + 0x120], rdi
jg 0x140089542
mov r9, qword [rsp + 0x188]
dec r9
cmp r9, rbp
jl 0x140089d4b
mov r10, qword [rsp + 0x128]
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0xf8]
dec r10
cmp r10, rbp
lea rdx, [rcx + rbx]
mov r8, r10
jl 0x140089530
mov al, byte [rdx]
mov cl, byte [rbx]
mov byte [rbx], al
mov byte [rdx], cl
sub rdx, rdi
add rbx, rdi
sub r8, rdi
jns 0x14008950d
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0xf8]
add rbx, rax
sub r9, rdi
jns 0x140089501
mov rcx, qword [rsp + 0x40]
jmp 0x140089267
mov r10, qword [rsp + 0x188]
dec r10
cmp r10, rbp
jl 0x14008927f
movsxd rsi, dword [rsp + 0x128]
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0xf8]
movsxd r15, dword [rsp + 0xec]
mov r14, qword [rsp + 0x120]
dec rsi
cmp rsi, rbp
lea rdx, [rcx + rbx]
mov r9, rsi
jl 0x1400895cc
lea edi, [r14 - 1]
mov r12d, 1
cmp edi, ebp
mov r8d, edi
jl 0x1400895b1
mov al, byte [rdx]
mov cl, byte [rbx]
mov byte [rbx], al
mov byte [rdx], cl
add rdx, r12
add rbx, r12
sub r8d, r12d
jns 0x14008959e
sub rdx, r15
sub r9, r12
jns 0x140089597
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0xf8]
mov rdi, r12
add rbx, rax
sub r10, rdi
jns 0x140089581
jmp 0x14008947f
mov rax, qword [rsp + 0x198]
movzx ecx, byte [rsp + 0x150]
mov r10, rbx
mov r14d, eax
cdqe
mov sil, r13b
sub r10, rax
mov r11d, ebp
mov qword [rsp + 0x130], rbp
add r10, qword [rsp + 0xf0]
mov qword [rsp + 0xc0], rbp
mov r12, r9
mov dword [rsp + 0x160], ecx
mov edx, 1
sub ecx, edx
je 0x140089b3b
sub ecx, edx
je 0x14008999f
cmp ecx, edx
mov rcx, qword [rsp + 0x40]
je 0x1400897e2
and sil, 7
lea r9d, [rdx + 7]
sub r9b, sil
cmp rbx, r10
jae 0x140089cd1
movzx r8d, byte [rsp + 0x90]
mov rax, qword [rsp + 0x50]
cmp rax, rbp
je 0x140089675
mov dl, byte [r12]
add r12, rcx
mov byte [rsp + 0x1e8], dl
jmp 0x14008967c
mov dl, byte [rsp + 0x1e8]
cmp r8d, 8
jg 0x140089755
je 0x140089735
mov ecx, r8d
cmp r8d, ebp
je 0x14008972f
mov eax, 1
sub ecx, eax
je 0x140089715
sub ecx, eax
je 0x140089703
sub ecx, eax
je 0x1400896fc
sub ecx, eax
je 0x1400896ee
sub ecx, eax
je 0x1400896d8
sub ecx, eax
je 0x1400896cd
cmp ecx, eax
mov rcx, qword [rsp + 0x40]
jne 0x1400897c9
mov al, dl
or al, byte [rbx]
mov byte [rdi], al
jmp 0x1400897c9
mov al, dl
and al, byte [rbx]
mov byte [rdi], al
jmp 0x1400897c4
movzx eax, byte [rbx]
mov rcx, qword [rsp + 0x68]
imul rcx, rax
mov qword [rsp + 0x68], rcx
jmp 0x1400897c4
movsx rax, byte [rbx]
add qword [rsp + 0x68], rax
jmp 0x1400897c4
mov byte [rbx], dl
jmp 0x1400897c4
mov dl, byte [rbx]
mov cl, r9b
mov al, dl
shl al, cl
mov cl, sil
shr dl, cl
or al, dl
jmp 0x1400896d1
mov rcx, qword [rsp + 0x40]
mov eax, 0x5e
cmp ax, r15w
jne 0x1400897c9
mov al, dl
xor al, byte [rbx]
jmp 0x1400896c6
mov al, dl
add al, byte [rbx]
jmp 0x1400896d1
test byte [rbx], dl
je 0x1400897ce
mov rax, rbx
sub rax, qword [rsp + 0xe0]
add rax, qword [rsp + 0x158]
jmp 0x140089d8f
mov ecx, r8d
sub ecx, 9
je 0x1400897bb
mov eax, 1
sub ecx, eax
je 0x1400897b2
sub ecx, eax
je 0x1400897a3
sub ecx, eax
je 0x1400897a9
sub ecx, eax
je 0x14008979a
sub ecx, eax
je 0x14008977c
cmp ecx, eax
je 0x140089787
jmp 0x1400897c4
movzx eax, byte [rbx]
movzx ecx, dl
cdq
idiv ecx
mov byte [rdi], al
movsx eax, byte [rbx]
movsx ecx, byte [rsp + 0x1e8]
cdq
idiv ecx
jmp 0x1400896d1
mov al, byte [rbx]
sub al, dl
jmp 0x1400896d1
mov al, byte [rbx]
imul dl
mov byte [rdi], al
mov al, byte [rbx]
imul dl
jmp 0x1400896d1
movsx rax, byte [rbx]
jmp 0x1400896db
test byte [rbx], dl
je 0x1400897c4
inc qword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x50]
add rbx, rcx
add rdi, rcx
cmp rbx, r10
jb 0x140089660
jmp 0x140089cd1
and sil, 0x3f
mov r9d, 0x40
sub r9b, sil
cmp rbx, r10
jae 0x140089cd1
movzx r8d, byte [rsp + 0x90]
mov rax, qword [rsp + 0x50]
cmp rax, rbp
je 0x14008981a
mov r13, qword [r12]
add r12, rcx
mov qword [rsp + 0x110], r13
cmp r8d, 8
jg 0x140089918
je 0x1400898f2
mov ecx, r8d
cmp r8d, ebp
je 0x1400898e2
sub ecx, edx
je 0x1400898c6
sub ecx, edx
je 0x1400898a0
sub ecx, edx
je 0x140089898
sub ecx, edx
je 0x14008988e
sub ecx, edx
je 0x14008987b
sub ecx, edx
je 0x14008986d
cmp ecx, edx
mov rcx, qword [rsp + 0x40]
jne 0x140089986
mov rax, r13
or rax, qword [rbx]
mov qword [rdi], rax
jmp 0x140089986
mov rax, r13
and rax, qword [rbx]
mov qword [rdi], rax
jmp 0x140089981
mov rax, qword [rsp + 0x68]
imul rax, qword [rbx]
mov qword [rsp + 0x68], rax
jmp 0x140089981
mov rax, qword [rsp + 0x68]
add rax, qword [rbx]
jmp 0x140089884
mov qword [rbx], r13
jmp 0x140089981
mov rdx, qword [rbx]
mov cl, r9b
mov rax, rdx
shl rax, cl
mov cl, byte [rsp + 0x1e8]
shr rdx, cl
or rax, rdx
mov qword [rdi], rax
mov edx, 1
jmp 0x140089981
mov rcx, qword [rsp + 0x40]
mov eax, 0x5e
cmp ax, r15w
jne 0x140089986
mov rax, r13
xor rax, qword [rbx]
jmp 0x140089865
mov rax, qword [rbx]
lea rcx, [r13 + rax]
mov qword [rdi], rcx
jmp 0x140089981
test qword [rbx], r13
je 0x14008998b
sub rbx, qword [rsp + 0xe0]
movzx ecx, word [rsp + 0x108]
mov rax, rbx
cqo
idiv rcx
jmp 0x140089748
mov ecx, r8d
sub ecx, 9
je 0x140089977
sub ecx, edx
je 0x14008987b
sub ecx, edx
je 0x140089961
sub ecx, edx
je 0x14008996b
sub ecx, edx
je 0x140089956
sub ecx, edx
je 0x14008993e
cmp ecx, edx
je 0x140089949
jmp 0x140089981
mov rax, qword [rbx]
xor edx, edx
div r13
mov qword [rdi], rax
mov rax, qword [rbx]
cqo
idiv r13
jmp 0x1400898b9
mov rax, qword [rbx]
sub rax, r13
jmp 0x140089873
mov rax, r13
imul rax, qword [rbx]
mov qword [rdi], rax
mov rax, r13
imul rax, qword [rbx]
jmp 0x140089873
test qword [rbx], r13
je 0x140089981
add qword [rsp + 0x68], rdx
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x50]
add rbx, rcx
add rdi, rcx
cmp rbx, r10
jb 0x140089806
jmp 0x140089cd1
mov rcx, qword [rsp + 0x40]
and sil, 0x1f
mov r9d, 0x20
sub r9b, sil
cmp rbx, r10
jae 0x140089cd1
movzx r8d, byte [rsp + 0x90]
mov rax, qword [rsp + 0x50]
cmp rax, rbp
je 0x1400899dd
mov edx, dword [r12]
add r12, rcx
mov dword [rsp + 0xa0], edx
jmp 0x1400899e4
mov edx, dword [rsp + 0xa0]
cmp r8d, 8
jg 0x140089aa8
je 0x140089a9e
mov ecx, r8d
cmp r8d, ebp
je 0x140089a95
mov eax, 1
sub ecx, eax
je 0x140089a7b
sub ecx, eax
je 0x140089a69
sub ecx, eax
je 0x140089a62
sub ecx, eax
je 0x140089a55
sub ecx, eax
je 0x140089a40
sub ecx, eax
je 0x140089a35
cmp ecx, eax
mov rcx, qword [rsp + 0x40]
jne 0x140089b22
mov eax, edx
or eax, dword [rbx]
mov dword [rdi], eax
jmp 0x140089b22
mov eax, edx
and eax, dword [rbx]
mov dword [rdi], eax
jmp 0x140089b1d
mov eax, dword [rbx]
mov rcx, qword [rsp + 0x68]
imul rcx, rax
mov qword [rsp + 0x68], rcx
jmp 0x140089b1d
movsxd rax, dword [rbx]
add qword [rsp + 0x68], rax
jmp 0x140089b1d
mov dword [rbx], edx
jmp 0x140089b1d
mov edx, dword [rbx]
mov cl, sil
mov eax, edx
shr eax, cl
mov cl, r9b
shl edx, cl
or eax, edx
jmp 0x140089a39
mov rcx, qword [rsp + 0x40]
mov eax, 0x5e
cmp ax, r15w
jne 0x140089b22
mov eax, edx
xor eax, dword [rbx]
jmp 0x140089a2e
mov eax, dword [rbx]
lea ecx, [rdx + rax]
mov dword [rdi], ecx
jmp 0x140089b1d
test dword [rbx], edx
jne 0x1400898fb
jmp 0x140089b27
mov ecx, r8d
sub ecx, 9
je 0x140089b14
mov eax, 1
sub ecx, eax
je 0x140089b0c
sub ecx, eax
je 0x140089afb
sub ecx, eax
je 0x140089b02
sub ecx, eax
je 0x140089af2
mov rdx, rax
sub ecx, edx
je 0x140089ae1
cmp ecx, edx
jne 0x140089b1d
mov ecx, dword [rsp + 0xa0]
mov eax, dword [rbx]
cdq
idiv ecx
jmp 0x140089a39
mov eax, dword [rbx]
mov ecx, dword [rsp + 0xa0]
xor edx, edx
div ecx
mov dword [rdi], eax
jmp 0x140089ad7
mov eax, dword [rbx]
sub eax, edx
jmp 0x140089a39
mov eax, edx
imul eax, dword [rbx]
mov dword [rdi], eax
mov eax, edx
imul eax, dword [rbx]
jmp 0x140089a39
movsxd rax, dword [rbx]
jmp 0x140089a42
test dword [rbx], edx
je 0x140089b1d
inc qword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x50]
add rbx, rcx
add rdi, rcx
cmp rbx, r10
jb 0x1400899c8
jmp 0x140089cd1
mov rcx, qword [rsp + 0x40]
and sil, 0xf
mov r9d, 0x10
sub r9b, sil
cmp rbx, r10
jae 0x140089cd1
movzx r8d, byte [rsp + 0x90]
cmp qword [rsp + 0x50], rbp
je 0x140089b78
movzx edx, word [r12]
add r12, rcx
mov word [rsp + 0x80], dx
jmp 0x140089b80
mov dx, word [rsp + 0x80]
cmp r8d, 8
jg 0x140089c4f
je 0x140089c3f
mov ecx, r8d
cmp r8d, ebp
je 0x140089c2b
mov eax, 1
sub ecx, eax
je 0x140089c14
sub ecx, eax
je 0x140089bfd
sub ecx, eax
je 0x140089bf5
sub ecx, eax
je 0x140089be7
sub ecx, eax
je 0x140089bd1
sub ecx, eax
je 0x140089bc9
cmp ecx, eax
jne 0x140089cbd
movzx eax, dx
or ax, word [rbx]
jmp 0x140089c3a
movzx eax, dx
and ax, word [rbx]
jmp 0x140089c3a
movzx eax, word [rbx]
mov rcx, qword [rsp + 0x68]
imul rcx, rax
mov qword [rsp + 0x68], rcx
jmp 0x140089cbd
movsx rax, word [rbx]
add qword [rsp + 0x68], rax
jmp 0x140089cbd
mov word [rbx], dx
jmp 0x140089cbd
movzx edx, word [rbx]
mov cl, sil
movzx eax, dx
shr ax, cl
mov cl, r9b
shl dx, cl
or ax, dx
jmp 0x140089c3a
mov eax, 0x5e
cmp ax, r15w
jne 0x140089cbd
movzx eax, dx
xor ax, word [rbx]
jmp 0x140089c3a
movzx eax, dx
add ax, word [rbx]
mov word [rdi], ax
movzx eax, word [rbx]
sub ax, dx
mov word [rdi], ax
jmp 0x140089cbd
movzx eax, word [rbx]
movsx ecx, dx
test eax, ecx
jne 0x1400898fb
jmp 0x140089cbd
mov ecx, r8d
sub ecx, 9
je 0x140089cae
mov eax, 1
sub ecx, eax
je 0x140089ca5
sub ecx, eax
je 0x140089c92
sub ecx, eax
je 0x140089c9c
sub ecx, eax
je 0x140089c34
sub ecx, eax
je 0x140089c76
cmp ecx, eax
je 0x140089c82
jmp 0x140089cbd
movzx eax, word [rbx]
movzx ecx, dx
cdq
idiv ecx
mov word [rdi], ax
movsx eax, word [rbx]
movsx ecx, word [rsp + 0x80]
cdq
idiv ecx
jmp 0x140089c3a
movzx eax, dx
imul ax, word [rbx]
mov word [rdi], ax
movzx eax, dx
imul ax, word [rbx]
jmp 0x140089c3a
movsx rax, word [rbx]
jmp 0x140089bd4
movzx eax, word [rbx]
movsx ecx, dx
test eax, ecx
je 0x140089cbd
inc qword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
add rbx, rcx
add rdi, rcx
cmp rbx, r10
jb 0x140089b5f
cmp r14d, ebp
jle 0x140089d25
cmp byte [rsp + 0x1f8], bpl
je 0x140089d25
lea rcx, [rsp + 0xc0]
movsxd r8, r14d
mov rdx, rbx
call fcn.14001d7d8
movzx eax, word [rsp + 0x108]
mov ecx, dword [rsp + 0x160]
mov qword [rsp + 0x130], rbx
mov r11d, r14d
lea r10, [rsp + rax + 0xc0]
mov r14d, ebp
lea rbx, [rsp + 0xc0]
jmp 0x14008961c
cmp r11d, ebp
je 0x140089489
mov rcx, qword [rsp + 0x130]
lea rdx, [rsp + 0xc0]
movsxd r8, r11d
call fcn.14001d7d8
jmp 0x140089484
mov r9, qword [rsp + 0xa8]
jmp 0x140089284
mov r14, qword [rsp + 0xf0]
mov rax, qword [rsp + 0x88]
mov rdx, qword [rsp + 0xd0]
mov r9, rsi
mov esi, 0x23
jmp 0x140089284
mov r9, rcx
mov rcx, qword [rsp + 0x40]
jmp 0x14008935a
mov rax, qword [rsp + 0x68]
mov r8, qword [rsp + 0x148]
cmp r8, rbp
je 0x140089db3
mov rcx, qword [rsp + 0x1e0]
lea r9, [0x140127630]
mov rdx, rax
call fcn.1400665bc
lea rcx, [rsp + 0x118]
call fcn.14005aef8
lea rcx, [0x14013e190]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x140088ae1
mov rax, qword [rsp + 0x58]
mov esi, 0x2c
lea rcx, [rax + 2]
mov qword [rsp + 0x118], rcx
cmp si, word [rax]
jne 0x140089e78
mov qword [rsp + 0x58], rcx
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x168]
mov r8d, esi
mov r9b, r13b
call fcn.14007f2f0
lea rdx, [rsp + 0xd8]
xor r8d, r8d
mov rcx, rax
call fcn.1400673b4
mov rax, qword [rsp + 0x58]
mov r9, qword [rsp + 0xb8]
cmp si, word [rax]
jne 0x140089e78
mov rbx, r15
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x168]
add rax, rbx
mov r8d, esi
mov r9b, r13b
mov qword [rsp + 0x58], rax
call fcn.14007f2f0
lea rdx, [rsp + 0x138]
mov rcx, rax
xor r8d, r8d
call fcn.140067288
mov r9, qword [rsp + 0xb8]
mov rax, qword [rsp + 0x58]
jmp 0x140089e7b
mov rbx, r15
cmp si, word [rax]
jne 0x140089ebb
add rax, rbx
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x168]
mov r8d, esi
mov r9b, r13b
mov qword [rsp + 0x58], rax
call fcn.14007f2f0
lea rdx, [rsp + 0x98]
xor r8d, r8d
mov rcx, rax
call fcn.140067288
mov r9, qword [rsp + 0xb8]
cmp word [r9], bp
je 0x14008adf0
mov rax, qword [rsp + 0xd8]
cmp word [rax], bp
je 0x14008adf0
mov r10, qword [rsp + 0x138]
cmp word [r10], bp
je 0x14008adf0
mov rax, qword [rsp + 0x98]
cmp word [rax], bp
je 0x14008adf0
mov esi, 0x2a
mov r13d, ebp
mov dword [rsp + 0x94], ebp
mov dword [rsp + 0xb0], ebp
mov r15d, ebp
mov r12d, ebp
mov qword [rsp + 0x88], r13
mov dword [rsp + 0x70], ebp
mov dword [rsp + 0xa0], ebp
mov dword [rsp + 0x64], ebp
mov r11, rbp
mov byte [rsp + 0x74], bpl
cmp si, word [r9]
jne 0x140089f85
cmp si, word [r9 + 2]
jne 0x140089f6d
mov r12b, byte [r9]
add r9, 4
mov byte [rsp + 0x1f8], bl
mov byte [rsp + 0x75], r12b
mov dil, r12b
mov r12d, ebp
cmp si, word [r9]
jne 0x140089f85
add r9, rbx
mov byte [rsp + 0x1f8], 3
jmp 0x140089f85
cmp si, word [r9]
jne 0x140089f85
mov r12b, byte [r9]
add r9, 2
mov byte [rsp + 0x75], r12b
mov dil, r12b
mov r12d, ebp
mov eax, 0x2d
cmp ax, word [r9]
jne 0x140089f96
mov dil, byte [r9]
add r9, rbx
cmp dil, bpl
je 0x140088ada
lea rcx, [0x14012762c]
mov rdx, r9
call fcn.14005c518
mov edi, 0x4b1
cmp al, bpl
je 0x140089fc7
mov edi, 1
mov byte [rsp + 0x74], dil
jmp 0x14008a11e
lea rcx, str.ANSI
mov rdx, r9
call fcn.14005c518
cmp al, bpl
je 0x140089fed
mov qword [rsp + 0x88], r13
mov edi, 1
jmp 0x14008a11e
lea rcx, [0x140127628]
mov rdx, r9
call fcn.14005c518
cmp al, bpl
je 0x14008a009
mov r13d, 0x3a8
jmp 0x140089fdb
lea rcx, str.BIG5
mov rdx, r9
call fcn.14005c518
cmp al, bpl
je 0x14008a025
mov r13d, 0x3b6
jmp 0x140089fdb
lea rcx, str.UTF8
mov rdx, r9
call fcn.14005c518
cmp al, bpl
je 0x14008a054
mov r9d, 0xfde9
mov edi, 1
mov r13d, r9d
mov qword [rsp + 0x88], r13
jmp 0x14008a124
lea rcx, str.UTF7
mov rdx, r9
call fcn.14005c518
cmp al, bpl
je 0x14008a073
mov r13d, 0xfde8
jmp 0x140089fdb
lea rcx, str.UNICODE
mov rdx, r9
call fcn.14005c518
cmp al, bpl
je 0x14008a097
mov edi, 1
mov r15d, 0x4b0
jmp 0x14008a11e
lea rcx, [0x14011dba4]
mov rdx, r9
call fcn.14005c518
cmp al, bpl
jne 0x14008a087
lea rcx, str.UNICODEB
mov rdx, r9
call fcn.14005c518
cmp al, bpl
je 0x14008a0c7
mov r15d, edi
jmp 0x140089fe3
lea rcx, str.UNIB
mov rdx, r9
call fcn.14005c518
cmp al, bpl
jne 0x14008a0bf
movzx eax, word [r9]
mov ecx, 9
sub ax, 0x30
cmp ax, cx
ja 0x14008a105
mov rcx, r9
call fcn.140064758
mov r13, rax
mov qword [rsp + 0x88], rax
jmp 0x140089fe3
cmp word [r9], bp
jne 0x140088ada
mov edi, 1
mov r15d, edi
mov r12d, edi
mov dword [rsp + 0x70], edi
mov r9d, 0xfde9
cmp si, word [r10]
jne 0x14008a15c
cmp si, word [r10 + 2]
jne 0x14008a13f
mov r12b, byte [r10]
add r10, 4
mov byte [rsp + 0x60], r12b
jmp 0x14008a14c
cmp si, word [r10]
jne 0x14008a15c
mov r12b, byte [r10]
add r10, 2
mov byte [rsp + 0x1e8], r12b
mov r14b, r12b
mov r12d, dword [rsp + 0x70]
mov eax, 0x2d
cmp ax, word [r10]
jne 0x14008a16d
mov r14b, byte [r10]
add r10, rbx
cmp r14b, bpl
je 0x140088ada
lea rcx, str.ANSI
mov rdx, r10
call fcn.14005c518
cmp al, bpl
je 0x14008a196
mov dword [rsp + 0x94], ebp
jmp 0x14008a2e9
lea rcx, [0x140127628]
mov rdx, r10
call fcn.14005c518
cmp al, bpl
je 0x14008a1ba
mov dword [rsp + 0x94], 0x3a8
jmp 0x14008a2e9
lea rcx, str.BIG5
mov rdx, r10
call fcn.14005c518
cmp al, bpl
je 0x14008a1de
mov dword [rsp + 0x94], 0x3b6
jmp 0x14008a2e9
lea rcx, str.UTF8
mov rdx, r10
call fcn.14005c518
cmp al, bpl
je 0x14008a20e
mov dword [rsp + 0x94], r9d
lea r11, [0x140124110]
mov dword [rsp + 0x64], 3
jmp 0x14008a2e9
lea rcx, str.UTF7
mov rdx, r10
call fcn.14005c518
cmp al, bpl
je 0x14008a232
mov dword [rsp + 0x94], 0xfde8
jmp 0x14008a2e9
lea rcx, str.UNICODE
mov rdx, r10
call fcn.14005c518
cmp al, bpl
jne 0x14008a25a
lea rcx, [0x14011dba4]
mov rdx, r10
call fcn.14005c518
cmp al, bpl
je 0x14008a26e
mov dword [rsp + 0xb0], 0x4b0
lea r11, [0x140124108]
jmp 0x14008a2a8
lea rcx, str.UNICODEB
mov rdx, r10
call fcn.14005c518
cmp al, bpl
jne 0x14008a296
lea rcx, str.UNIB
mov rdx, r10
call fcn.14005c518
cmp al, bpl
je 0x14008a2ae
mov dword [rsp + 0xb0], 0x4b1
lea r11, [0x14012410c]
mov dword [rsp + 0x64], ebx
jmp 0x14008a2e9
movzx eax, word [r10]
mov ecx, 9
sub ax, 0x30
cmp ax, cx
ja 0x14008a2d1
mov rcx, r10
call fcn.140064758
mov dword [rsp + 0x94], eax
jmp 0x14008a2e9
cmp word [r10], bp
jne 0x140088ada
mov dword [rsp + 0xb0], edi
mov dword [rsp + 0xa0], edi
cmp byte [rsp + 0x48], bpl
lea rcx, [rsp + 0x78]
mov rbx, rbp
cmovne r11, rbp
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x130], r11
call fcn.140062fc4
or r14, 0xffffffffffffffff
mov rsi, rbp
cmp byte [rsp + 0x75], bpl
jne 0x14008a5e9
mov rax, qword [rsp + 0x118]
lea r8d, [r14 + 0x2d]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x168]
mov r9b, dil
mov qword [rsp + 0x1f8], rbp
mov qword [rsp + 0x58], rax
call fcn.14007f2f0
lea rdx, [rsp + 0xd8]
mov rcx, rax
xor r8d, r8d
call fcn.140067288
mov rcx, qword [rsp + 0xd8]
call fcn.14001be60
mov qword [rsp + 0x38], rbp
lea ecx, [r14 + 4]
mov dword [rsp + 0x30], 0x80
mov dword [rsp + 0x28], ecx
lea r9d, [r14 + 8]
lea rcx, [rsp + 0x1f8]
mov r8d, 0x80000000
mov rdx, rax
mov qword [rsp + 0x20], rbp
call fcn.140003888
mov rdi, qword [rsp + 0x1f8]
cmp rdi, rbp
jne 0x14008a3c4
lea rcx, [rsp + 0x78]
call fcn.14005aef8
mov ebp, 1
jmp 0x140088ae1
xor edx, edx
mov rcx, rdi
lea r8d, [rdx + 2]
call fcn.14005c3c8
xor edx, edx
mov rcx, rdi
lea r8d, [rdx + 1]
call fcn.14005c3c8
xor r8d, r8d
xor edx, edx
mov rcx, rdi
mov r12, rax
call fcn.14005c3c8
lea r11d, [r12 + 0xa]
lea rcx, [rsp + 0x78]
movsxd rdx, r11d
call fcn.1400630a4
mov r11, qword [rsp + 0x78]
lea r9, [rsp + 0xec]
mov byte [r11 + 2], bpl
mov rcx, qword [rsp + 0x78]
mov r8d, r12d
mov byte [rcx + 1], bpl
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x20], rbp
mov byte [rcx], bpl
mov rdx, qword [rsp + 0x78]
or dword [rsp + 0xec], 0xffffffff
mov rcx, rdi
mov qword [rsp + 0x1f8], rdx
call qword [sym.imp.KERNEL32.dll_ReadFile]
movsxd rsi, dword [rsp + 0xec]
cmp rsi, rbp
jge 0x14008a472
or r14, 0xffffffffffffffff
cmp rdi, r14
je 0x14008a3b0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14008a3b0
mov rax, qword [rsp + 0x78]
mov r11b, byte [rsp + 0x74]
mov r9d, ebp
mov byte [rsi + rax + 2], bpl
mov rax, qword [rsp + 0x78]
mov byte [rsi + rax + 1], bpl
mov rax, qword [rsp + 0x78]
mov byte [rsi + rax], bpl
cmp r11b, bpl
jne 0x14008a4a5
cmp r15d, 0x4b0
jne 0x14008a4da
mov r10, qword [rsp + 0x1f8]
lea rdx, [0x140124108]
mov r8d, 2
mov rcx, r10
call fcn.14005af28
cmp eax, ebp
jne 0x14008a4d3
mov eax, 2
mov r15d, 0x4b0
jmp 0x14008a552
cmp r11b, bpl
jne 0x14008a4eb
jmp 0x14008a4e2
mov r10, qword [rsp + 0x1f8]
cmp r15d, 0x4b1
jne 0x14008a516
lea rdx, [0x14012410c]
mov r8d, 2
mov rcx, r10
call fcn.14005af28
cmp eax, ebp
jne 0x14008a511
mov eax, 2
mov r15d, 0x4b1
jmp 0x14008a552
cmp r11b, bpl
jne 0x14008a523
mov r11d, 0xfde9
cmp r13d, r11d
jne 0x14008a57b
jmp 0x14008a529
mov r11d, 0xfde9
lea rdx, [0x140124110]
mov r8d, 3
mov rcx, r10
call fcn.14005af28
cmp eax, ebp
jne 0x14008a57b
mov r13d, r11d
mov eax, 3
mov qword [rsp + 0x88], r13
mov dword [rsp + 0x1f8], eax
cdqe
mov r8d, 3
sub r12, rax
lea rdx, [rax + r10]
mov rcx, r10
add r8, r12
call fcn.14001d790
mov r9d, dword [rsp + 0x1f8]
movsxd rax, r9d
sub rsi, rax
cmovs rsi, rbp
cmp rdi, r14
je 0x14008a593
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov dil, bl
cmp rsi, rbp
mov r12, qword [rsp + 0x78]
jl 0x14008a3b0
mov r10d, 3
cmp byte [rsp + 0x74], bpl
je 0x14008a7c7
cmp dil, bpl
je 0x14008a7c7
mov r9d, 2
lea rdx, [0x140124108]
mov rcx, r12
mov r8, r9
call fcn.14005af28
cmp eax, ebp
jne 0x14008a784
mov r15d, 0x4b0
jmp 0x14008a7c7
cmp byte [rsp + 0x1f8], bpl
je 0x14008a739
mov r12, qword [rsp + 0x1e0]
lea rdx, [rsp + 0xd8]
xor r8d, r8d
mov rcx, r12
call fcn.140003a44
mov rdi, qword [rsp + 0xd8]
mov ecx, 9
movzx eax, word [rdi]
sub ax, 0x30
cmp ax, cx
ja 0x14008a680
lea rdx, [rsp + 0x118]
lea rcx, [rsp + 0x148]
mov qword [rsp + 0x148], rdi
call fcn.1400679a0
cmp eax, ebp
je 0x14008a680
mov rax, qword [rsp + 0x148]
cmp word [rax], bp
jne 0x14008a680
mov r12, qword [rsp + 0x118]
mov r10d, 3
cmp byte [rsp + 0x1f8], r10b
je 0x14008a6b0
or r14, 0xffffffffffffffff
mov dil, bl
mov rsi, r14
jmp 0x14008a5aa
mov r9d, r14d
xor r8d, r8d
mov rdx, rdi
mov rcx, r12
mov qword [rsp + 0x20], rbp
call fcn.1400189c4
mov rdi, rax
cmp rax, rbp
je 0x14008a70e
mov r12, qword [rax + 8]
mov eax, 3
cmp byte [rsp + 0x1f8], al
jne 0x14008a6c5
lea rcx, [rsp + 0x78]
mov rdx, r12
call fcn.140068fc0
mov dil, 2
movsxd rsi, eax
jmp 0x14008a720
mov rsi, qword [rdi + 0x18]
movabs rcx, 0x3fffffffffffffff
and rsi, rcx
lea rcx, [rsp + 0x78]
lea rdx, [rsi + 8]
call fcn.1400630a4
mov r11, qword [rsp + 0x78]
xor edx, edx
lea rcx, [rsi + r11]
lea r8d, [rdx + 8]
call fcn.140101f00
mov rdx, qword [rdi + 8]
mov rcx, qword [rsp + 0x78]
mov r8, rsi
call fcn.14001d7d8
mov dil, 1
jmp 0x14008a720
lea rcx, [rsp + 0x78]
mov edx, 8
call fcn.1400630a4
mov dil, bl
mov rax, qword [rsp + 0x78]
xor edx, edx
lea rcx, [rsi + rax]
lea r8d, [rdx + 8]
call fcn.140101f00
jmp 0x14008a596
mov rdx, qword [rsp + 0xd8]
lea rcx, [rsp + 0x78]
cmp r12d, ebp
je 0x14008a774
call fcn.140070048
mov rcx, qword [rsp + 0xd8]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rcx, [rsp + 0x78]
movsxd rsi, eax
add rsi, rsi
lea rdx, [rsi + 8]
call fcn.1400630a4
jmp 0x14008a77c
call fcn.140068fc0
movsxd rsi, eax
mov dil, 2
jmp 0x14008a596
lea rdx, [0x14012410c]
mov r8, r9
mov rcx, r12
call fcn.14005af28
cmp eax, ebp
jne 0x14008a7a2
mov r15d, 0x4b1
jmp 0x14008a7c7
lea rdx, [0x140124110]
mov r8, r10
mov rcx, r12
call fcn.14005af28
cmp eax, ebp
mov eax, 0xfde9
cmove r13d, eax
mov qword [rsp + 0x88], r13
cmp rsi, r14
jne 0x14008a7eb
mov rcx, r12
cmp r15d, ebp
je 0x14008a7e2
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rsi, eax
add rsi, rsi
jmp 0x14008a7eb
call qword [sym.imp.KERNEL32.dll_lstrlenA]
movsxd rsi, eax
lea rcx, [rsp + 0x1f8]
mov r13, r12
mov qword [rsp + 0x118], r12
call fcn.1400632a0
lea rcx, [rsp + 0x94]
call fcn.140062ca8
mov rdi, qword [rsp + 0x88]
cmp dword [rax], edi
jne 0x14008a8fb
lea rcx, [rsp + 0xb0]
call fcn.140062ca8
cmp dword [rax], r15d
jne 0x14008a8fb
cmp byte [rsp + 0x60], bpl
je 0x14008a86c
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x1e0]
lea rax, [rsp + 0x98]
mov r9d, esi
mov r8, r12
mov byte [rsp + 0x28], bpl
mov qword [rsp + 0x20], rax
call fcn.140074da8
jmp 0x14008a8df
cmp byte [rsp + 0x1e8], bpl
jne 0x14008a893
lea r9, [rsp + 0x1e0]
mov r8d, esi
mov rdx, r12
xor ecx, ecx
mov qword [rsp + 0x20], rbp
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x14008a8df
cmp dword [rsp + 0xa0], ebp
jne 0x14008a8b9
lea rcx, [rsp + 0x1f8]
mov r8d, esi
mov rdx, r12
call fcn.140068f84
mov r8, qword [rsp + 0x1f8]
jmp 0x14008a8ca
mov r8, qword [rsp + 0xd8]
cmp dword [rsp + 0x70], ebp
jne 0x14008a8ca
mov r8, r12
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x1e0]
call fcn.140062600
lea rcx, [rsp + 0x1f8]
call fcn.14005aef8
lea rcx, [rsp + 0x78]
call fcn.14005aef8
jmp 0x140088ae1
cmp r15d, 0x4b1
jne 0x14008a918
mov edx, esi
mov rcx, r12
mov r15d, 0x4b0
call fcn.1400605fc
and rsi, 0xfffffffffffffffe
cmp byte [rsp + 0x1e8], bpl
jne 0x14008a984
mov rcx, qword [rsp + 0x98]
call fcn.14001be60
mov qword [rsp + 0x38], rbp
mov dword [rsp + 0x30], 0x80
lea rcx, [rsp + 0x140]
mov r9d, 7
mov r8d, 0x40000000
mov rdx, rax
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rbp
call fcn.140003888
mov rbx, qword [rsp + 0x140]
cmp rbx, rbp
jne 0x14008a984
lea rcx, [rsp + 0x1f8]
call fcn.14005aef8
jmp 0x14008a3b0
mov eax, 0x3a8
mov qword [rsp + 0xc0], rbp
cmp dword [rsp + 0x94], eax
jne 0x14008a9a2
cmp edi, 0x3b6
je 0x14008a9bb
cmp edi, eax
jne 0x14008aa7e
cmp dword [rsp + 0x94], 0x3b6
jne 0x14008aa7e
movzx eax, byte [rsp + 0x80]
lea rcx, [rsp + 0xc8]
mov edi, eax
cmp al, bpl
mov eax, 3
cmovne edi, eax
call fcn.140062fc4
cmp dword [rsp + 0x94], 0x3b6
mov r8d, ebp
lea rdx, [rsp + 0xc8]
mov rcx, r12
sete r8b
call fcn.14006906c
mov r11, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xc8]
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0xc8], r11
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov r12, qword [rsp + 0x78]
movsxd rsi, eax
mov eax, 3
mov r13, r12
cmp dil, al
jne 0x14008aa71
cmp byte [rsp + 0x1e8], bpl
jne 0x14008aa71
cmp rsi, rbp
jle 0x14008aa5f
lea r9, [rsp + 0x1e0]
mov r8d, esi
mov rdx, r12
mov rcx, rbx
mov qword [rsp + 0x20], rbp
call qword [sym.imp.KERNEL32.dll_WriteFile]
lea rcx, [rsp + 0xc8]
call fcn.14005aef8
jmp 0x14008ad66
lea rcx, [rsp + 0xc8]
call fcn.14005aef8
mov rax, rsi
cqo
sub rax, rdx
sar rax, 1
mov rdi, rax
cmp r15d, ebp
jne 0x14008aae3
lea edi, [rsi + 0xa]
lea rcx, [rsp + 0x1f8]
lea eax, [rdi + 0xa]
movsxd rdx, eax
call fcn.1400633a0
mov r13, qword [rsp + 0x1f8]
mov ecx, dword [rsp + 0x88]
mov r9d, esi
mov r8, r12
xor edx, edx
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], r13
call qword [0x14013c970]
cmp eax, ebp
mov r9, r13
cmovl eax, ebp
movsxd rdi, eax
lea rsi, [rdi + rdi]
mov word [rsi + r13], bp
jmp 0x14008aaeb
mov r9, qword [rsp + 0x118]
mov eax, dword [rsp + 0xb0]
cmp eax, 0x4b1
jne 0x14008ab0a
mov edx, esi
mov rcx, r13
call fcn.1400605fc
mov eax, dword [rsp + 0xb0]
cmp eax, ebp
jle 0x14008ac3e
cmp byte [rsp + 0x60], bpl
je 0x14008ab8a
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x1e0]
lea rax, [rsp + 0x98]
mov r9d, esi
mov r8, r13
mov byte [rsp + 0x28], bpl
mov qword [rsp + 0x20], rax
call fcn.140074da8
lea rcx, [rsp + 0xc0]
call fcn.14005aef8
lea rcx, [rsp + 0x1f8]
call fcn.14005aef8
lea rcx, [rsp + 0x78]
call fcn.14005aef8
cmp rbx, rbp
je 0x140088ae1
cmp rbx, r14
je 0x140088ae1
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140088ae1
cmp byte [rsp + 0x1e8], bpl
jne 0x14008abe6
cmp rsi, rbp
jle 0x14008ad66
mov rdx, qword [rsp + 0x130]
cmp rdx, rbp
je 0x14008abc5
mov r8d, dword [rsp + 0x64]
lea r9, [rsp + 0x1e0]
mov rcx, rbx
mov qword [rsp + 0x20], rbp
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rdx, r13
lea r9, [rsp + 0x1e0]
mov r8d, esi
mov rcx, rbx
mov qword [rsp + 0x20], rbp
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x14008ad66
cmp dword [rsp + 0xa0], ebp
jne 0x14008ac47
lea rcx, [rsp + 0x1e8]
call fcn.1400632a0
lea rcx, [rsp + 0x1e8]
mov r8d, edi
mov rdx, r13
call fcn.140068f84
mov r8, qword [rsp + 0x1e8]
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x1e0]
call fcn.140062600
lea rcx, [rsp + 0x1e8]
call fcn.14005aef8
jmp 0x14008ad66
cmp dword [rsp + 0xa0], ebp
je 0x14008ac4f
mov r8, r9
jmp 0x14008ad51
mov rax, rsi
cqo
sub rax, rdx
sar rax, 1
mov rsi, rax
lea ecx, [rax + rax*2]
lea edi, [rcx + rcx + 0xa]
lea ecx, [rdi + 1]
movsxd rdx, ecx
lea rcx, [rsp + 0xc0]
call fcn.1400630a4
mov ecx, dword [rsp + 0x94]
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x30], rbp
mov dword [rsp + 0x28], edi
mov rdi, qword [rsp + 0xc0]
mov r9d, esi
mov r8, r13
xor edx, edx
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
cmp eax, ebp
mov esi, eax
cmovl esi, ebp
movsxd rax, esi
mov byte [rax + rdi], bpl
cmp byte [rsp + 0x1e8], bpl
jne 0x14008acf7
cmp esi, ebp
jle 0x14008ad66
mov rdx, qword [rsp + 0x130]
cmp rdx, rbp
je 0x14008acef
mov r8d, dword [rsp + 0x64]
lea r9, [rsp + 0x1e0]
mov rcx, rbx
mov qword [rsp + 0x20], rbp
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rdx, rdi
jmp 0x14008abc8
cmp byte [rsp + 0x60], bpl
je 0x14008ad36
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x1e0]
movsxd r9, eax
lea rax, [rsp + 0x98]
mov r8, rdi
mov byte [rsp + 0x28], bpl
mov qword [rsp + 0x20], rax
call fcn.140074da8
jmp 0x14008ad66
lea rcx, [rsp + 0x1f8]
mov r8d, esi
mov rdx, rdi
call fcn.140068ee8
mov r8, qword [rsp + 0x1f8]
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x1e0]
call fcn.140062600
cmp rbx, rbp
je 0x14008ad74
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
lea rcx, [rsp + 0xc0]
call fcn.14005aef8
lea rcx, [rsp + 0x1f8]
call fcn.14005aef8
lea rcx, [rsp + 0x78]
call fcn.14005aef8
cmp rbx, rbp
je 0x14008adab
cmp rbx, r14
je 0x14008adab
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0x98]
call fcn.14005aef8
lea rcx, [rsp + 0x138]
call fcn.14005aef8
lea rcx, [rsp + 0xd8]
call fcn.14005aef8
lea rcx, [rsp + 0xb8]
call fcn.14005aef8
lea rcx, [rsp + 0x168]
call fcn.14005aef8
xor eax, eax
jmp 0x14008ae34
lea rcx, [rsp + 0x98]
call fcn.14005aef8
lea rcx, [rsp + 0x138]
call fcn.14005aef8
lea rcx, [rsp + 0xd8]
call fcn.14005aef8
lea rcx, [rsp + 0xb8]
call fcn.14005aef8
lea rcx, [rsp + 0x168]
call fcn.14005aef8
mov rax, r13
mov rbx, qword [rsp + 0x1f0]
add rsp, 0x1a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret