Function at 0x140013da0
Capabilities:
Create thread
Read .ini file
Read file on windows

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
push rbp
mov eax, 0x1358
call fcn.140043660
sub rsp, 0x1358
mov r12, rcx
mov eax, dword [r12 + 0x28c]
cmp eax, 1
jne 0x140013e01
mov rax, rsp
lea rdx, [rsp + 0x126c]
mov rcx, qword [r12 + 0x290]
mov r8d, 9
lea r9, [rsp + 0x1268]
mov qword [rax + 0x20], 0
call qword [sym.imp.KERNEL32.dll_ReadFile]
jmp 0x140013e7d
cmp eax, 2
jne 0x140013e7d
lea rdi, [rsp + 0x126c]
cmp rdi, qword [r12 + 0x30]
je 0x140015c14
mov ebp, 9
mov rax, qword [r12 + 0x38]
cmp rax, rbp
cmovae rax, rbp
mov r14d, eax
test r14, r14
je 0x140013e75
mov rsi, qword [r12 + 0x28]
mov dword [rsi], 1
mov dword [rsi + 4], r14d
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, qword [r12 + 8]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp dword [rsi + 8], 0
jg 0x140013e65
jl 0x140013e7d
jmp 0x140013e75
mov rcx, rdi
mov r8, r14
mov rdx, qword [r12 + 0x30]
call fcn.14003f570
add rdi, r14
sub rbp, r14
jne 0x140013e1e
mov eax, dword [rsp + 0x126c]
mov edx, eax
and edx, 0xf
mov ebp, eax
mov byte [rsp + 0x1082], dl
mov edx, eax
shr edx, 0x1d
mov edi, eax
and edx, 1
mov r8d, eax
mov byte [rsp + 0x106d], dl
mov edx, eax
shr ebp, 4
mov r10d, eax
shr edx, 0x1e
and ebp, 0xf
mov byte [rsp + 0x1086], bpl
and edx, 1
mov ebp, dword [rsp + 0x1270]
mov r11d, eax
mov byte [rsp + 0x106c], dl
mov r14d, eax
movzx edx, bpl
mov r15d, eax
mov dword [rsp + 0x1070], edx
mov edx, ebp
shr edx, 8
and edx, 7
mov byte [rsp + 0x107d], dl
mov edx, ebp
shr edx, 0xb
and edx, 3
mov byte [rsp + 0x107c], dl
mov edx, ebp
shr edx, 0xd
and edx, 0x7f
shr eax, 0x1f
mov dword [rsp + 0x1068], edx
mov edx, ebp
shr edx, 0x14
shr ebp, 0x18
test eax, eax
mov dword [rsp + 0x108c], ebp
mov ebp, 0
seta bpl
and edx, 0xf
shr edi, 8
mov byte [rsp + 0x1089], dl
and edi, 0xf
mov edx, dword [rsp + 0x1274]
mov byte [rsp + 0x1085], dil
mov edi, edx
shr r8d, 0xc
and edi, 1
shr r10d, 0x10
and r8d, 0xf
shr r11d, 0x14
and r10d, 0xf
shr r14d, 0x17
and r11d, 7
shr r15d, 0x1a
and r14d, 7
shr edx, 1
and r15d, 7
and edx, 7
mov byte [rsp + 0x1084], r8b
mov byte [rsp + 0x1083], r10b
mov byte [rsp + 0x1081], r11b
mov byte [rsp + 0x107f], r14b
mov byte [rsp + 0x107e], r15b
mov byte [rsp + 0x1088], al
mov byte [rsp + 0x1074], dil
mov byte [rsp + 0x1080], dl
test ebp, ebp
jne 0x1400143c2
test edi, edi
je 0x14001489e
movsxd r10, dword [r12 + 0x160]
mov r11d, 1
cmp r10, 1
jle 0x140013ffd
mov r8, qword [r12 + 0x168]
xor edi, edi
mov rdx, qword [r8 + r11*8]
cmp byte [rdx], 0x2d
je 0x1400159dd
inc r11
cmp r11, r10
jl 0x140013fe8
mov rdi, rsp
lea rcx, [r12 + 0x178]
lea rdx, [0x14000a56c]
xor r8d, r8d
lea r9, [rsp + 0x10c0]
lea rax, [r12 + 0x188]
mov dword [rdi + 0x20], 0x104
mov qword [rdi + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
movsxd rax, eax
test rax, rax
jle 0x140014059
mov dl, byte [rsp + rax + 0x10bf]
cmp dl, 0x5c
je 0x140014059
cmp dl, 0x2f
je 0x140014059
mov edx, 0x5c
mov word [rsp + rax + 0x10c0], dx
mov rcx, r12
lea rdx, [0x14000a579]
mov r8d, 0x2000000
lea r9, [0x14000a58c]
call fcn.14003c650
shr rax, 0x17
xor edx, edx
mov r14d, dword [rsp + 0x1068]
mov r8d, 1
add r14d, r14d
mov r11d, 1
movzx edi, byte [rsp + 0x1089]
sub eax, r14d
inc edi
div edi
mov r14d, eax
add r14d, 0xfffffffc
test r14d, r14d
movsxd r10, dword [r12 + 0x160]
cmovle r14d, r8d
mov dword [rsp + 0x10b4], r14d
cmp r10, 1
jle 0x1400140e4
mov r8, qword [r12 + 0x168]
xor edi, edi
mov rdx, qword [r8 + r11*8]
cmp byte [rdx], 0x2d
je 0x140015983
inc r11
cmp r11, r10
jl 0x1400140cf
mov rdi, rsp
lea rcx, [r12 + 0x178]
lea rdx, [0x14000a590]
xor r8d, r8d
lea r9, [rsp + 0x30]
lea rax, [r12 + 0x188]
mov dword [rdi + 0x20], 0x104
mov qword [rdi + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jne 0x140014356
mov r8d, 1
mov ecx, 0xfffffff4
mov byte [rsp + 0x1090], r8b
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rdi, rax
cmp rdi, 0xffffffffffffffff
je 0x140014173
lea rcx, [0x14000a59e]
call fcn.14003f520
mov r10, rsp
mov rcx, rdi
lea rdx, [0x14000a59e]
mov r8d, eax
lea r9, [rsp + 0x11f8]
mov qword [r10 + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rdi, rax
cmp rdi, 0xffffffffffffffff
je 0x1400141bb
lea rcx, [rsp + 0x10c0]
call fcn.14003f520
mov r10, rsp
mov rcx, rdi
mov r8d, eax
lea rdx, [rsp + 0x10c0]
lea r9, [rsp + 0x11fc]
mov qword [r10 + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rdi, rax
cmp rdi, 0xffffffffffffffff
je 0x140014201
lea rcx, [0x14000a5b6]
call fcn.14003f520
mov r10, rsp
mov rcx, rdi
lea rdx, [0x14000a5b6]
mov r8d, eax
lea r9, [rsp + 0x1200]
mov qword [r10 + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
shl r14d, 0xd
lea rdi, [rsp + 0x11d7]
movsxd r14, r14d
xor r8d, r8d
mov byte [rdi], 0
xor r11d, r11d
test r14, r14
je 0x1400157de
movabs r10, 0xcccccccccccccccd
inc r8
cmp r8, 3
jbe 0x140014245
mov byte [rdi - 1], 0x27
mov r8d, 1
dec rdi
dec r11d
mov rax, r14
dec r11d
mul r10
shr rdx, 3
lea rax, [rdi - 1]
lea r15, [rdx + rdx*8]
add r15, rdx
neg r15
add r15, r14
mov r14, rdx
add r15d, 0x30
mov byte [rax], r15b
mov rdi, rax
test rdx, rdx
jne 0x14001422c
test r11d, r11d
jle 0x1400142c9
mov r10d, r11d
mov r8d, 1
shr r10d, 1
xor r14d, r14d
test r10d, r10d
jbe 0x1400142b4
mov r8b, 0x20
inc r14
mov byte [rdi - 1], r8b
mov byte [rdi - 2], r8b
add rdi, 0xfffffffffffffffe
cmp r14, r10
jb 0x140014291
lea r8d, [r14 + r14 + 1]
add r14, r14
neg r14
lea rdi, [rax + r14]
lea r10d, [r8 - 1]
cmp r10d, r11d
jae 0x1400142c9
movsxd r8, r8d
sub rax, r8
mov rdi, rax
mov byte [rax], 0x20
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov r14, rax
cmp r14, 0xffffffffffffffff
je 0x140014307
mov rcx, rdi
call fcn.14003f520
mov r10, rsp
mov rcx, r14
mov rdx, rdi
mov r8d, eax
lea r9, [rsp + 0x1204]
mov qword [r10 + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rdi, rax
cmp rdi, 0xffffffffffffffff
je 0x14001489e
lea rcx, [0x14000a5d2]
call fcn.14003f520
mov r10, rsp
mov rcx, rdi
lea rdx, [0x14000a5d2]
mov r8d, eax
lea r9, [rsp + 0x1208]
mov qword [r10 + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
jmp 0x14001489e
xor r8d, r8d
cmp byte [rsp + 0x30], 0
je 0x14001590b
xor edx, edx
xor edi, edi
movsx r10d, byte [rsp + 0x30]
xor eax, eax
test r10d, r10d
je 0x140015960
mov dword [rsp + 0x1338], ebp
xor esi, esi
mov dword [rsp + 0x1228], r13d
mov ebp, 1
mov qword [rsp + 0x1220], r12
lea ecx, [r10 - 0x30]
cmp ecx, 9
jbe 0x1400157ee
inc rdx
cmp r10d, 0x2d
cmove edi, ebp
dec rax
movsx r10d, byte [rsp + rdx + 0x30]
test r10d, r10d
je 0x1400157ee
jmp 0x140014397
mov rcx, r12
lea rdx, [0x14000a5d6]
lea r8, [0x14000a58c]
call fcn.140015c50
mov r14d, eax
mov rcx, r12
lea rdx, [0x14000a5e6]
mov r8d, 0x2000000
lea r9, [0x14000a58c]
call fcn.14003c650
mov rdi, rax
mov edx, dword [r12 + 0x28c]
cmp edx, 1
jne 0x140014446
mov r10, rsp
lea rdx, [rsp + 0x1278]
mov rcx, qword [r12 + 0x290]
mov r8d, 2
lea r9, [rsp + 0x134]
mov qword [r10 + 0x20], 0
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [rsp + 0x134]
test eax, eax
jl 0x140014450
jmp 0x1400144df
cmp edx, 2
je 0x140014464
mov eax, 0xffffffff
add rsp, 0x1358
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
lea r15, [rsp + 0x1278]
cmp r15, qword [r12 + 0x30]
je 0x140015bdc
mov r13d, 2
mov rdx, qword [r12 + 0x38]
cmp rdx, r13
cmovae rdx, r13
mov ebx, edx
test rbx, rbx
je 0x1400144d7
mov rsi, qword [r12 + 0x28]
mov dword [rsi], 1
mov dword [rsi + 4], ebx
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, qword [r12 + 8]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [rsi + 8]
test eax, eax
jg 0x1400144c7
jl 0x14001443d
jmp 0x1400144d7
mov rcx, r15
mov r8, rbx
mov rdx, qword [r12 + 0x30]
call fcn.14003f570
add r15, rbx
sub r13, rbx
jne 0x14001447d
mov r8d, dword [rsp + 0x1068]
shl r8d, 0x18
add r8d, 0x599e44
cmp byte [rsp + 0x1074], 0
lea rdx, [r8 + 0x128a14]
mov r10d, dword [rsp + 0x1070]
cmovne r8, rdx
shl r10d, 0x13
add r10d, 0x80000
mov dl, byte [rsp + 0x107c]
test dl, dl
movzx r13d, word [rsp + 0x1278]
lea r11, [r8 + r10*4]
mov r15d, r11d
cmovne r8, r15
movzx r11d, byte [rsp + 0x107d]
cmp r11d, 2
lea r10, [r8 + 0x1b96c0]
mov r10d, r10d
cmovle r8, r10
shl r13d, 0x10
cmp r11d, 1
je 0x140014578
cmp r11d, 3
je 0x140014578
cmp r11d, 2
je 0x14001456c
cmp r11d, 4
jne 0x140014582
add r8, 0x3420000
mov r8d, r8d
jmp 0x140014582
add r8, 0x992200
mov r8d, r8d
test dl, dl
lea r10, [r8 + 0x9c4c2]
mov r11d, r10d
mov rax, rdi
mov r15d, r13d
cmovne r8, r11
add r15, r8
xor edx, edx
div r15
mov edi, 0x10
cmp eax, 0x10
cmovb edi, eax
mov r8d, 1
mov ecx, 0xfffffff4
cmp edi, r14d
cmovb r14d, edi
cmp r14d, 1
cmovbe r14d, r8d
lea eax, [r14 - 1]
mov byte [rsp + 0x1089], al
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rdi, rax
cmp rdi, 0xffffffffffffffff
je 0x140014611
lea rcx, [0x14000a5f5]
call fcn.14003f520
mov r10, rsp
mov rcx, rdi
lea rdx, [0x14000a5f5]
mov r8d, eax
lea r9, [rsp + 0x120c]
mov qword [r10 + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
lea rdi, [rsp + 0x11e7]
mov byte [rdi], 0
xor r10d, r10d
xor r11d, r11d
test r14, r14
je 0x140015bcc
movabs r8, 0xcccccccccccccccd
inc r10
cmp r10, 3
jbe 0x14001464e
mov byte [rdi - 1], 0x27
mov r10d, 1
dec rdi
dec r11d
mov rax, r14
dec r11d
mul r8
shr rdx, 3
lea rax, [rdi - 1]
lea rsi, [rdx + rdx*8]
add rsi, rdx
neg rsi
add rsi, r14
mov r14, rdx
add esi, 0x30
mov byte [rax], sil
mov rdi, rax
test rdx, rdx
jne 0x140014635
test r11d, r11d
jle 0x1400146d1
mov r10d, r11d
mov r8d, 1
shr r10d, 1
xor r14d, r14d
test r10d, r10d
jbe 0x1400146bc
mov r8b, 0x20
inc r14
mov byte [rdi - 1], r8b
mov byte [rdi - 2], r8b
add rdi, 0xfffffffffffffffe
cmp r14, r10
jb 0x140014699
lea r8d, [r14 + r14 + 1]
add r14, r14
neg r14
lea rdi, [rax + r14]
lea r10d, [r8 - 1]
cmp r10d, r11d
jae 0x1400146d1
movsxd r8, r8d
sub rax, r8
mov rdi, rax
mov byte [rax], 0x20
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov r14, rax
cmp r14, 0xffffffffffffffff
je 0x14001470f
mov rcx, rdi
call fcn.14003f520
mov r10, rsp
mov rcx, r14
mov rdx, rdi
mov r8d, eax
lea r9, [rsp + 0x1210]
mov qword [r10 + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rdi, rax
cmp rdi, 0xffffffffffffffff
je 0x140014755
lea rcx, [0x14000a60b]
call fcn.14003f520
mov r10, rsp
mov rcx, rdi
lea rdx, [0x14000a60b]
mov r8d, eax
lea r9, [rsp + 0x1214]
mov qword [r10 + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
shr r15, 0xa
lea rdi, [rsp + 0x11f7]
mov byte [rdi], 0
xor r10d, r10d
xor r11d, r11d
test r15, r15
je 0x140015bbc
movabs r8, 0xcccccccccccccccd
inc r10
cmp r10, 3
jbe 0x140014796
mov byte [rdi - 1], 0x27
mov r10d, 1
dec rdi
dec r11d
mov rax, r15
dec r11d
mul r8
shr rdx, 3
lea rax, [rdi - 1]
lea r14, [rdx + rdx*8]
add r14, rdx
neg r14
add r14, r15
mov r15, rdx
add r14d, 0x30
mov byte [rax], r14b
mov rdi, rax
test rdx, rdx
jne 0x14001477d
test r11d, r11d
jle 0x14001481a
mov r10d, r11d
mov r8d, 1
shr r10d, 1
xor r14d, r14d
test r10d, r10d
jbe 0x140014805
mov r8b, 0x20
inc r14
mov byte [rdi - 1], r8b
mov byte [rdi - 2], r8b
add rdi, 0xfffffffffffffffe
cmp r14, r10
jb 0x1400147e2
lea r8d, [r14 + r14 + 1]
add r14, r14
neg r14
lea rdi, [rax + r14]
lea r10d, [r8 - 1]
cmp r10d, r11d
jae 0x14001481a
movsxd r8, r8d
sub rax, r8
mov rdi, rax
mov byte [rax], 0x20
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov r14, rax
cmp r14, 0xffffffffffffffff
je 0x140014858
mov rcx, rdi
call fcn.14003f520
mov r10, rsp
mov rcx, r14
mov rdx, rdi
mov r8d, eax
lea r9, [rsp + 0x1218]
mov qword [r10 + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rdi, rax
cmp rdi, 0xffffffffffffffff
je 0x14001489e
lea rcx, [0x14000a5d2]
call fcn.14003f520
mov r10, rsp
mov rcx, rdi
lea rdx, [0x14000a5d2]
mov r8d, eax
lea r9, [rsp + 0x121c]
mov qword [r10 + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
mov dword [rsp + 0x1060], 0
lea rcx, [rsp + 0x1038]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov eax, dword [rsp + 0x108c]
xor r15d, r15d
shl eax, 0x15
xor r14d, r14d
movzx edi, byte [rsp + 0x1089]
add eax, 0x200000
inc rdi
mov dword [rsp + 0x1250], eax
test ebp, ebp
jne 0x140014d84
cmp byte [rsp + 0x1074], 0
je 0x140014b36
mov eax, dword [r12 + 0x28c]
cmp eax, 1
jne 0x140014940
mov rax, rsp
lea rdx, [rsp + 0x132c]
mov rcx, qword [r12 + 0x290]
mov r8d, 4
lea r9, [rsp + 0x1264]
mov qword [rax + 0x20], 0
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [rsp + 0x1264]
test eax, eax
jl 0x14001494a
jmp 0x1400149e7
cmp eax, 2
je 0x14001495e
mov eax, 0xffffffff
add rsp, 0x1358
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
lea r13, [rsp + 0x132c]
cmp r13, qword [r12 + 0x30]
je 0x140015a9f
mov dword [rsp + 0x1338], ebp
mov esi, 4
mov rax, qword [r12 + 0x38]
cmp rax, rsi
cmovae rax, rsi
mov ebx, eax
test rbx, rbx
je 0x1400149d8
mov rbp, qword [r12 + 0x28]
mov dword [rbp], 1
mov dword [rbp + 4], ebx
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, qword [r12 + 8]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [rbp + 8]
test eax, eax
jg 0x1400149c8
jl 0x140015a3e
jmp 0x1400149d8
mov rcx, r13
mov r8, rbx
mov rdx, qword [r12 + 0x30]
call fcn.14003f570
add r13, rbx
sub rsi, rbx
jne 0x14001497d
mov ebp, dword [rsp + 0x1338]
mov r13d, dword [rsp + 0x132c]
mov dword [rsp + r14 + 0x204], r13d
test r13, r13
jne 0x140014a00
xor esi, esi
jmp 0x140014a1a
xor ecx, ecx
mov rdx, r13
mov r8d, 0x3000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rsi, rax
mov r8d, dword [r12 + 0x28c]
mov qword [rsp + r14 + 0x1f0], rsi
cmp r8d, 1
jne 0x140014a6b
mov rax, rsp
mov rdx, rsi
mov rcx, qword [r12 + 0x290]
mov r8d, r13d
lea r9, [rsp + 0x1260]
mov qword [rax + 0x20], 0
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [rsp + 0x1260]
mov r8d, dword [r12 + 0x28c]
jmp 0x140014b2c
cmp r8d, 2
je 0x140014a8a
mov eax, 0xffffffff
add rsp, 0x1358
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
cmp rsi, qword [r12 + 0x30]
je 0x140015a66
mov rbx, r13
test r13, r13
je 0x140014b29
mov qword [rsp + 0x1340], rdi
mov dword [rsp + 0x1338], ebp
mov rax, qword [r12 + 0x38]
cmp rax, rbx
cmovae rax, rbx
mov ebp, eax
test rbp, rbp
je 0x140014b0a
mov rdi, qword [r12 + 0x28]
mov dword [rdi], 1
mov dword [rdi + 4], ebp
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, qword [r12 + 8]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [rdi + 8]
test eax, eax
jg 0x140014afa
jl 0x140015a4a
jmp 0x140014b0a
mov rcx, rsi
mov r8, rbp
mov rdx, qword [r12 + 0x30]
call fcn.14003f570
add rsi, rbp
sub rbx, rbp
jne 0x140014ab0
mov rdi, qword [rsp + 0x1340]
mov ebp, dword [rsp + 0x1338]
mov r8d, dword [r12 + 0x28c]
mov eax, r13d
test eax, eax
jl 0x140014a76
jmp 0x140014b3e
mov r8d, dword [r12 + 0x28c]
cmp r8d, 1
jne 0x140014b83
mov rax, rsp
lea rdx, [rsp + 0x132c]
mov rcx, qword [r12 + 0x290]
mov r8d, 6
lea r9, [rsp + 0x1328]
mov qword [rax + 0x20], 0
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [rsp + 0x1328]
test eax, eax
jl 0x140014b8e
jmp 0x140014c2b
cmp r8d, 2
je 0x140014ba2
mov eax, 0xffffffff
add rsp, 0x1358
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
lea r13, [rsp + 0x132c]
cmp r13, qword [r12 + 0x30]
je 0x140015b2b
mov dword [rsp + 0x1338], ebp
mov esi, 6
mov rax, qword [r12 + 0x38]
cmp rax, rsi
cmovae rax, rsi
mov ebx, eax
test rbx, rbx
je 0x140014c1c
mov rbp, qword [r12 + 0x28]
mov dword [rbp], 1
mov dword [rbp + 4], ebx
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, qword [r12 + 8]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [rbp + 8]
test eax, eax
jg 0x140014c0c
jl 0x140015ad3
jmp 0x140014c1c
mov rcx, r13
mov r8, rbx
mov rdx, qword [r12 + 0x30]
call fcn.14003f570
add r13, rbx
sub rsi, rbx
jne 0x140014bc1
mov ebp, dword [rsp + 0x1338]
mov ebx, dword [rsp + 0x132e]
movzx r13d, word [rsp + 0x132c]
shl r13d, 0x10
mov dword [rsp + r14 + 0x1ec], ebx
test rbx, rbx
jne 0x140014c50
xor eax, eax
jmp 0x140014c64
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov esi, dword [r12 + 0x28c]
mov qword [rsp + r14 + 0x1d8], rax
cmp esi, 1
jne 0x140014cac
mov rsi, rsp
mov rdx, rax
mov rcx, qword [r12 + 0x290]
mov r8d, ebx
lea r9, [rsp + 0x127c]
mov qword [rsi + 0x20], 0
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [rsp + 0x127c]
jmp 0x140014d7a
cmp esi, 2
je 0x140014cca
mov eax, 0xffffffff
add rsp, 0x1358
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
cmp rax, qword [r12 + 0x30]
je 0x140015afb
mov rsi, rbx
test rbx, rbx
je 0x140014d78
mov qword [rsp + 0x1340], rdi
mov rdi, rax
mov dword [rsp + 0x1338], ebp
mov dword [rsp + 0x1228], r13d
mov rdx, qword [r12 + 0x38]
cmp rdx, rsi
cmovae rdx, rsi
mov ebp, edx
test rbp, rbp
je 0x140014d59
mov r13, qword [r12 + 0x28]
mov dword [r13], 1
mov dword [r13 + 4], ebp
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, qword [r12 + 8]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [r13 + 8]
test eax, eax
jg 0x140014d49
jl 0x140015adf
jmp 0x140014d59
mov rcx, rdi
mov r8, rbp
mov rdx, qword [r12 + 0x30]
call fcn.14003f570
add rdi, rbp
sub rsi, rbp
jne 0x140014cfb
mov rdi, qword [rsp + 0x1340]
mov ebp, dword [rsp + 0x1338]
mov r13d, dword [rsp + 0x1228]
mov eax, ebx
test eax, eax
jl 0x140014cb6
jmp 0x140014daf
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rsp + r14 + 0x1d8], rax
mov dword [rsp + r14 + 0x1ec], 0x1000
xor ecx, ecx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
mov ebx, r15d
lea rax, [rsp + 0x1038]
mov qword [rsp + r14 + 0x138], rax
mov dword [rsp + r14 + 0x140], ebx
mov dword [rsp + r14 + 0x144], edi
mov dword [rsp + r14 + 0x160], 0
call qword [sym.imp.KERNEL32.dll_CreateEventA]
xor ecx, ecx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
mov qword [rsp + r14 + 0x168], rax
call qword [sym.imp.KERNEL32.dll_CreateEventA]
mov qword [rsp + r15*8 + 0x12a8], rax
xor dl, dl
mov qword [rsp + r14 + 0x170], rax
lea r9, [rsp + r14 + 0x178]
mov ecx, r13d
lea rax, [rsp + r14 + 0x17c]
mov qword [rax - 0x2c], 0
lea r8, [rsp + r14 + 0x188]
mov dword [rax - 0x24], 0
lea r10, [rsp + r14 + 0x198]
mov dword [rax - 0x20], ebx
lea r11, [rsp + r14 + 0x1a0]
mov qword [rsp + 0x1240], r11
lea rbx, [rsp + r14 + 0x190]
mov qword [rsp + 0x1248], r10
xor esi, esi
mov qword [rsp + 0x1258], r8
mov qword [rsp + 0x1238], r14
mov r14, rcx
mov qword [rsp + 0x1230], r15
mov r15, r9
mov qword [rsp + 0x1340], rdi
mov dword [rsp + 0x1228], r13d
mov r13b, dl
mov qword [rsp + 0x1220], r12
mov r12, rax
mov r8, qword [rsp + 0x1258]
lea rcx, [rsp + 0x1038]
mov r10, qword [rcx + 0x210]
mov r11, qword [rcx + 0x208]
mov edi, dword [rcx + 0x218]
mov dword [rsi + r15], 0
mov dword [rsi + r12], 0xffffffff
mov dword [rsi + r8], edi
mov qword [rsi + r10], 0
mov qword [rsi + r11], r14
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor ecx, ecx
mov rdx, r14
mov r8d, 0x3000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rdi, rax
lea rcx, [rsp + 0x1038]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [rsi + rbx], rdi
test ebp, ebp
jne 0x140014f36
inc r13b
add rsi, 0x30
cmp r13b, 2
jl 0x140014eab
mov r14, qword [rsp + 0x1238]
mov r15, qword [rsp + 0x1230]
mov rdi, qword [rsp + 0x1340]
mov r13d, dword [rsp + 0x1228]
mov r12, qword [rsp + 0x1220]
mov rbx, rsp
xor ecx, ecx
xor edx, edx
lea r9, [rsp + r14 + 0x138]
lea r8, [0x140028a40]
lea rax, [rsp + 0x1334]
mov dword [rbx + 0x20], 0
mov qword [rbx + 0x28], rax
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
mov edx, 0xffffffff
mov qword [rsp + r14 + 0x220], rax
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
inc r15
add r14, 0xf0
cmp r15, rdi
jl 0x1400148de
test ebp, ebp
jne 0x140014fdc
mov r9, r12
lea rcx, [rsp + 0x1038]
lea rdx, [rsp + 0x138]
lea r8, [rsp + 0x12a8]
call fcn.140015f70
jmp 0x140014ffc
mov r9, r12
lea rcx, [rsp + 0x1038]
lea rdx, [rsp + 0x138]
lea r8, [rsp + 0x12a8]
call fcn.1400166b0
mov r14d, eax
xor r12d, r12d
xor r13d, r13d
mov dword [rsp + 0x1338], ebp
lea rbp, [rsp + 0x1038]
xor ebx, ebx
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [rsp + r13 + 0x158]
cmp edx, 1
jne 0x140015064
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [rsp + r12*8 + 0x12a8]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [rsp + r13 + 0x158], 1
je 0x14001502c
mov edx, dword [rsp + r13 + 0x158]
cmp edx, 2
je 0x1400150b3
mov rcx, rbp
mov dword [rsp + r13 + 0x158], 2
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [rsp + r13 + 0x168]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, qword [rsp + r12*8 + 0x12a8]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [rsp + r13 + 0x158], 2
jne 0x140015069
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [rsp + r13 + 0x168]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, qword [rsp + r12*8 + 0x12a8]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, dword [rsp + r13 + 0x160]
test edx, edx
mov rsi, qword [rsp + r13 + 0x1d8]
cmovl r14d, edx
test rsi, rsi
je 0x14001510c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rsp + r13 + 0x168]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + r13 + 0x170]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor cl, cl
lea rdx, [rsp + r13 + 0x198]
mov qword [rsp + 0x1350], r13
lea rax, [rsp + r13 + 0x1a0]
mov dword [rsp + 0x1348], r14d
lea r15, [rsp + r13 + 0x190]
mov qword [rsp + 0x1340], rdi
mov rsi, rbx
mov ebp, dword [rsp + 0x1338]
mov rdi, rax
mov r14, rdx
mov r13b, cl
mov qword [rsi + r14], rbx
mov qword [rsi + rdi], rbx
mov rcx, qword [rsi + r15]
test rcx, rcx
je 0x14001518c
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
test ebp, ebp
jne 0x14001519d
inc r13b
add rsi, 0x30
cmp r13b, 2
jl 0x14001516d
mov r13, qword [rsp + 0x1350]
lea rbp, [rsp + 0x1038]
mov r14d, dword [rbp + 0x310]
mov rdi, qword [rbp + 0x308]
mov rcx, qword [rsp + r13 + 0x220]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [rsp + 0x1074], 0
je 0x1400157a6
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rsi, rax
cmp rsi, 0xffffffffffffffff
je 0x14001521d
lea rcx, [0x14000a624]
call fcn.14003f520
mov r10, rsp
mov r8d, eax
mov rcx, rsi
lea rdx, [0x14000a624]
lea r9, [rsp + 0x1280]
mov qword [r10 + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
mov byte [rsp + 0x122f], 0
mov r10, r12
mov r11, rbx
lea rsi, [rsp + 0x122f]
mov r15d, 2
test r12, r12
je 0x140015b9e
movabs r9, 0xcccccccccccccccd
inc r11
cmp r11, 3
jbe 0x140015265
mov byte [rsi - 1], 0x27
mov r11d, 1
dec rsi
dec r15d
mov rax, r10
lea r8, [rsi - 1]
mul r9
shr rdx, 3
dec r15d
lea rcx, [rdx + rdx*8]
add rcx, rdx
neg rcx
add rcx, r10
mov r10, rdx
add ecx, 0x30
mov byte [r8], cl
mov rsi, r8
test rdx, rdx
jne 0x14001524c
test r15d, r15d
jle 0x1400152ec
mov r9d, r15d
mov r11, rbx
shr r9d, 1
mov eax, 1
mov r10, r11
test r9d, r9d
jbe 0x1400152d6
mov dl, 0x20
inc r11
mov byte [r10 + r8 - 1], dl
mov byte [r10 + r8 - 2], dl
add r10, 0xfffffffffffffffe
cmp r11, r9
jb 0x1400152b1
lea eax, [r11 + r11 + 1]
add r11, r11
neg r11
lea rsi, [r8 + r11]
lea r9d, [rax - 1]
cmp r9d, r15d
jae 0x1400152ec
movsxd rax, eax
sub r8, rax
mov rsi, r8
mov byte [r8], 0x20
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov r15, rax
cmp r15, 0xffffffffffffffff
je 0x14001532a
mov rcx, rsi
call fcn.14003f520
mov r10, rsp
mov r8d, eax
mov rcx, r15
mov rdx, rsi
lea r9, [rsp + 0x1284]
mov qword [r10 + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rsi, rax
cmp rsi, 0xffffffffffffffff
je 0x140015370
lea rcx, [0x14000a62d]
call fcn.14003f520
mov r10, rsp
mov r8d, eax
mov rcx, rsi
lea rdx, [0x14000a62d]
lea r9, [rsp + 0x1288]
mov qword [r10 + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rsi, rax
cmp rsi, 0xffffffffffffffff
je 0x1400153b6
lea rcx, [0x14000a631]
call fcn.14003f520
mov r10, rsp
mov r8d, eax
mov rcx, rsi
lea rdx, [0x14000a631]
lea r9, [rsp + 0x128c]
mov qword [r10 + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
mov r10, qword [rsp + r13 + 0x210]
lea rsi, [rsp + 0x123f]
shr r10, 0xa
mov r11, rbx
mov byte [rsi], 0
xor r15d, r15d
test r10, r10
je 0x140015b89
movabs r9, 0xcccccccccccccccd
inc r11
cmp r11, 3
jbe 0x1400153ff
mov byte [rsi - 1], 0x27
mov r11d, 1
dec rsi
dec r15d
mov rax, r10
lea r8, [rsi - 1]
mul r9
shr rdx, 3
dec r15d
lea rcx, [rdx + rdx*8]
add rcx, rdx
neg rcx
add rcx, r10
mov r10, rdx
add ecx, 0x30
mov byte [r8], cl
mov rsi, r8
test rdx, rdx
jne 0x1400153e6
test r15d, r15d
jle 0x140015482
mov r10d, r15d
mov eax, 1
shr r10d, 1
mov r11, rbx
test r10d, r10d
jbe 0x14001546c
mov r9b, 0x20
inc r11
mov byte [rsi - 1], r9b
mov byte [rsi - 2], r9b
add rsi, 0xfffffffffffffffe
cmp r11, r10
jb 0x140015449
lea eax, [r11 + r11 + 1]
add r11, r11
neg r11
lea rsi, [r8 + r11]
lea r9d, [rax - 1]
cmp r9d, r15d
jae 0x140015482
movsxd rax, eax
sub r8, rax
mov rsi, r8
mov byte [r8], 0x20
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov r15, rax
cmp r15, 0xffffffffffffffff
je 0x1400154c0
mov rcx, rsi
call fcn.14003f520
mov r10, rsp
mov r8d, eax
mov rcx, r15
mov rdx, rsi
lea r9, [rsp + 0x1290]
mov qword [r10 + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rsi, rax
cmp rsi, 0xffffffffffffffff
je 0x140015506
lea rcx, [0x14000a643]
call fcn.14003f520
mov r10, rsp
mov r8d, eax
mov rcx, rsi
lea rdx, [0x14000a643]
lea r9, [rsp + 0x1294]
mov qword [r10 + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
mov r9d, dword [rsp + r13 + 0x208]
lea rsi, [rsp + 0x124f]
shr r9d, 0xa
mov r11, rbx
mov byte [rsi], 0
xor r15d, r15d
test r9, r9
je 0x140015b74
movabs r10, 0xcccccccccccccccd
inc r11
cmp r11, 3
jbe 0x14001554f
mov byte [rsi - 1], 0x27
mov r11d, 1
dec rsi
dec r15d
mov rax, r9
lea r8, [rsi - 1]
mul r10
shr rdx, 3
dec r15d
lea rcx, [rdx + rdx*8]
add rcx, rdx
neg rcx
add rcx, r9
mov r9, rdx
add ecx, 0x30
mov byte [r8], cl
mov rsi, r8
test rdx, rdx
jne 0x140015536
test r15d, r15d
jle 0x1400155d2
mov r10d, r15d
mov eax, 1
shr r10d, 1
mov r11, rbx
test r10d, r10d
jbe 0x1400155bc
mov r9b, 0x20
inc r11
mov byte [rsi - 1], r9b
mov byte [rsi - 2], r9b
add rsi, 0xfffffffffffffffe
cmp r11, r10
jb 0x140015599
lea eax, [r11 + r11 + 1]
add r11, r11
neg r11
lea rsi, [r8 + r11]
lea r9d, [rax - 1]
cmp r9d, r15d
jae 0x1400155d2
movsxd rax, eax
sub r8, rax
mov rsi, r8
mov byte [r8], 0x20
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov r15, rax
cmp r15, 0xffffffffffffffff
je 0x140015610
mov rcx, rsi
call fcn.14003f520
mov r10, rsp
mov r8d, eax
mov rcx, r15
mov rdx, rsi
lea r9, [rsp + 0x1298]
mov qword [r10 + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rsi, rax
cmp rsi, 0xffffffffffffffff
je 0x140015656
lea rcx, [0x14000a649]
call fcn.14003f520
mov r10, rsp
mov r8d, eax
mov rcx, rsi
lea rdx, [0x14000a649]
lea r9, [rsp + 0x129c]
mov qword [r10 + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
mov r10, qword [rsp + r13 + 0x218]
lea rsi, [rsp + 0x125f]
shr r10, 0xa
mov r11, rbx
mov byte [rsi], 0
xor r15d, r15d
test r10, r10
je 0x140015b5f
movabs r9, 0xcccccccccccccccd
inc r11
cmp r11, 3
jbe 0x14001569f
mov byte [rsi - 1], 0x27
mov r11d, 1
dec rsi
dec r15d
mov rax, r10
lea r8, [rsi - 1]
mul r9
shr rdx, 3
dec r15d
lea rcx, [rdx + rdx*8]
add rcx, rdx
neg rcx
add rcx, r10
mov r10, rdx
add ecx, 0x30
mov byte [r8], cl
mov rsi, r8
test rdx, rdx
jne 0x140015686
test r15d, r15d
jle 0x140015722
mov r10d, r15d
mov eax, 1
shr r10d, 1
mov r11, rbx
test r10d, r10d
jbe 0x14001570c
mov r9b, 0x20
inc r11
mov byte [rsi - 1], r9b
mov byte [rsi - 2], r9b
add rsi, 0xfffffffffffffffe
cmp r11, r10
jb 0x1400156e9
lea eax, [r11 + r11 + 1]
add r11, r11
neg r11
lea rsi, [r8 + r11]
lea r9d, [rax - 1]
cmp r9d, r15d
jae 0x140015722
movsxd rax, eax
sub r8, rax
mov rsi, r8
mov byte [r8], 0x20
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov r15, rax
cmp r15, 0xffffffffffffffff
je 0x140015760
mov rcx, rsi
call fcn.14003f520
mov r10, rsp
mov r8d, eax
mov rcx, r15
mov rdx, rsi
lea r9, [rsp + 0x12a0]
mov qword [r10 + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rsi, rax
cmp rsi, 0xffffffffffffffff
je 0x1400157a6
lea rcx, [0x14000a5d2]
call fcn.14003f520
mov r10, rsp
mov r8d, eax
mov rcx, rsi
lea rdx, [0x14000a5d2]
lea r9, [rsp + 0x12a4]
mov qword [r10 + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
inc r12
add r13, 0xf0
cmp r12, rdi
jl 0x140015016
lea rcx, [rsp + 0x1038]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov eax, r14d
add rsp, 0x1358
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
lea rdi, [rsp + 0x11d6]
mov byte [rdi], 0x30
jmp 0x1400142c9
test r10d, r10d
je 0x1400158f4
lea rcx, [rdx + 1]
movsx ebx, byte [rsp + rcx + 0x30]
lea r9, [rax - 1]
lea r10d, [rbx - 0x30]
cmp r10d, 9
ja 0x140015823
inc rcx
dec r9
movsx ebx, byte [rsp + rcx + 0x30]
lea r10d, [rbx - 0x30]
cmp r10d, 9
jbe 0x14001580e
mov r11, rsi
cmp rdx, rcx
jae 0x14001588d
add rax, rcx
mov r10d, 1
mov r13, rax
mov r12, rsi
shr r13, 1
test r13, r13
jbe 0x140015871
lea r10, [rsp + rdx + 0x30]
lea r15, [r11 + r11*4]
movsx r11, byte [r10 + r12*2]
lea r11, [r11 + r15*2 - 0x30]
movsx r15, byte [r10 + r12*2 + 1]
inc r12
lea r11, [r11 + r11*4]
lea r11, [r15 + r11*2 - 0x30]
cmp r12, r13
jb 0x140015847
lea r10, [r12 + r12 + 1]
lea r12, [r10 - 1]
cmp r12, rax
jae 0x14001588d
lea r10, [rsp + r10 + 0x2f]
movsx rdx, byte [r10 + rdx]
lea rax, [r11 + r11*4]
lea r11, [rdx + rax*2 - 0x30]
cmp ebx, 0x25
je 0x14001591f
cmp ebx, 0x70
je 0x14001591f
cmp ebx, 0x4b
je 0x140015919
cmp ebx, 0x6b
je 0x140015919
cmp ebx, 0x4d
je 0x1400158c3
cmp ebx, 0x6d
je 0x1400158c3
cmp ebx, 0x47
je 0x1400158bd
cmp ebx, 0x67
jne 0x1400158c7
shl r11, 0x1e
jmp 0x1400158c7
shl r11, 0x14
mov rax, r11
neg rax
test edi, edi
cmovne r11, rax
add r8, r11
test ebx, ebx
je 0x1400158f4
lea rdx, [rcx + 1]
movsx r10d, byte [rsp + rdx + 0x30]
test r10d, r10d
je 0x1400158f4
xor edi, edi
lea rax, [r9 - 1]
jmp 0x140014397
mov ebp, dword [rsp + 0x1338]
mov r13d, dword [rsp + 0x1228]
mov r12, qword [rsp + 0x1220]
xor eax, eax
test r8, r8
cmovl r8, rax
jmp 0x140014125
shl r11, 0xa
jmp 0x1400158c7
mov r10d, 0x64
cmp r11, 0x64
movabs r12, 0x7fffffffffffffff
cmova r11, r10
imul r12, r11
movabs r11, 0x47ae147ae147ae15
mov rax, r12
mul r11
mov r11, rdx
sub r12, r11
shr r12, 1
add r11, r12
shr r11, 6
jmp 0x1400158c7
mov dword [rsp + 0x1338], ebp
xor esi, esi
mov dword [rsp + 0x1228], r13d
mov ebp, 1
mov qword [rsp + 0x1220], r12
jmp 0x1400157ee
mov rax, rdi
lea rcx, [0x140000000]
mov r15b, byte [rcx + rax + 0xa590]
inc rax
test r15b, r15b
je 0x1400159a8
cmp r15b, byte [rax + rdx]
je 0x14001598d
jmp 0x1400140dc
nop
cmp byte [rax + rdx], 0x3d
jne 0x1400159b8
inc rax
cmp byte [rax + rdx], 0x3d
je 0x1400159af
add rax, rdx
xor edi, edi
mov dl, byte [rax]
test dl, dl
je 0x1400159d1
mov byte [rsp + rdi + 0x30], dl
inc rdi
mov dl, byte [rdi + rax]
test dl, dl
jne 0x1400159c3
mov byte [rsp + rdi + 0x30], 0
mov eax, edi
jmp 0x140014117
mov rax, rdi
lea r15, [0x140000000]
mov r14b, byte [r15 + rax + 0xa56c]
inc rax
test r14b, r14b
je 0x140015a02
cmp r14b, byte [rax + rdx]
je 0x1400159e7
jmp 0x140013ff5
nop
cmp byte [rax + rdx], 0x3d
jne 0x140015a12
inc rax
cmp byte [rax + rdx], 0x3d
je 0x140015a09
add rax, rdx
xor edi, edi
mov dl, byte [rax]
test dl, dl
je 0x140015a2e
mov byte [rsp + rdi + 0x10c0], dl
inc rdi
mov dl, byte [rdi + rax]
test dl, dl
jne 0x140015a1d
mov byte [rsp + rdi + 0x10c0], 0
movsxd rax, edi
jmp 0x140014036
mov ebp, dword [rsp + 0x1338]
jmp 0x140014937
mov rdi, qword [rsp + 0x1340]
mov ebp, dword [rsp + 0x1338]
mov r8d, dword [r12 + 0x28c]
jmp 0x140014b2c
mov rbx, qword [r12 + 0x28]
mov dword [rbx], 1
mov dword [rbx + 4], r13d
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, qword [r12 + 8]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [rbx + 8]
mov r8d, dword [r12 + 0x28c]
jmp 0x140014b2c
mov rbx, qword [r12 + 0x28]
mov dword [rbx], 1
mov dword [rbx + 4], 4
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, qword [r12 + 8]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [rbx + 8]
jmp 0x140014937
mov ebp, dword [rsp + 0x1338]
jmp 0x140014b7a
mov rdi, qword [rsp + 0x1340]
mov ebp, dword [rsp + 0x1338]
mov r13d, dword [rsp + 0x1228]
jmp 0x140014d7a
mov rsi, qword [r12 + 0x28]
mov dword [rsi], 1
mov dword [rsi + 4], ebx
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, qword [r12 + 8]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [rsi + 8]
jmp 0x140014d7a
mov rbx, qword [r12 + 0x28]
mov dword [rbx], 1
mov dword [rbx + 4], 6
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, qword [r12 + 8]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [rbx + 8]
jmp 0x140014b7a
mov byte [rsp + 0x125e], 0x30
lea rsi, [rsp + 0x125e]
jmp 0x140015722
mov byte [rsp + 0x124e], 0x30
lea rsi, [rsp + 0x124e]
jmp 0x1400155d2
mov byte [rsp + 0x123e], 0x30
lea rsi, [rsp + 0x123e]
jmp 0x140015482
mov byte [rsp + 0x122e], 0x30
lea rsi, [rsp + 0x122e]
mov r8, rsi
mov r15d, 1
jmp 0x140015299
lea rdi, [rsp + 0x11f6]
mov byte [rdi], 0x30
jmp 0x14001481a
lea rdi, [rsp + 0x11e6]
mov byte [rdi], 0x30
jmp 0x1400146d1
mov r13, qword [r12 + 0x28]
mov dword [r13], 1
mov dword [r13 + 4], 2
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, qword [r12 + 8]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [r13 + 8]
jmp 0x14001443d
mov rax, qword [r12 + 0x28]
mov dword [rax], 1
mov dword [rax + 4], 9
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, qword [r12 + 8]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x140013e7d