Function at 0x18000fad0
Capabilities:
Get file size
Print debug messages
Read file on windows
Reference http user-agent string

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0x100
imul eax, ecx, 0x114c
mov rdi, r9
mov r13, rdx
mov r15d, ecx
mov r14d, ecx
mov ebx, 0x69
mov dword [rsp + 0x40], eax
cmp ecx, eax
ja 0x180010248
mov r12, qword [rbp - 0x11]
lea rcx, [0x18007d750]
xor ebx, ebx
lea r10, [0x180000000]
lea eax, [rbx + 0x35]
lea esi, [rbx + 0x20]
lea edx, [rbx + 0x33]
lea r11d, [rbx + 0x57]
lea r9d, [rbx + 0x36]
nop
cmp r14d, 0x11ed5
ja 0x18000ffad
je 0x18000ff78
cmp r14d, 0x79c8
ja 0x18000fe46
je 0x18000fe3d
cmp r14d, 0x1ea8
ja 0x18000fde3
je 0x18000fdda
mov eax, r14d
sub eax, 0x2c
je 0x18000fc76
sub eax, 0x1c
je 0x18000fc5b
sub eax, 0x19
je 0x18000fc1d
sub eax, 0x38
je 0x18000fbbe
cmp eax, 0x2f
jne 0x18001020e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x18001020e
mov ebx, 0x11b
mov eax, ebx
sub eax, 0x11a
je case.0x180010032.7
cmp eax, 1
jne 0x18000fc0a
mov rax, qword [r13]
lea r9, [rbp - 0x41]
mov qword [rbp - 9], rax
lea rdx, [rbp - 9]
mov rax, qword [rdi]
mov r8d, 0x89
mov qword [rbp - 1], rcx
lea rcx, [rbp - 1]
mov qword [rbp - 0x41], rax
call fcn.180034fc0
mov qword [rbp - 0x41], rax
lea rcx, [0x18007d750]
dec ebx
cmp ebx, 0x119
ja 0x18000fbc3
mov word [rbp - 0x4a], si
jmp 0x18001020e
cmp qword [rdi + 0x18], 8
mov rcx, rdi
jb 0x18000fc2a
mov rcx, qword [rdi]
xor r9d, r9d
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x80
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rsp + 0x60], rax
jmp 0x18001020e
mov r8d, 3
lea rdx, [0x1800641aa]
lea rcx, [rbp - 0x21]
call fcn.1800474e0
jmp 0x18001020e
mov rdi, qword [rbp - 0x11]
mov esi, 0xa5
nop
cmp esi, 0xa5
je 0x18000fd70
cmp esi, 0x7698
je 0x18000fd4f
cmp esi, 0xec8b
je 0x18000fce1
cmp esi, 0x1627e
je 0x18000fcc6
cmp esi, 0x1d871
jne 0x18000fdb6
mov rdx, r12
mov ecx, 4
call fcn.18001eae0
jmp 0x18000fdab
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rdx, rdi
mov ecx, 4
call fcn.18001eae0
jmp 0x18000fdab
movsxd r9, dword [r8]
mov rcx, r12
mov rax, qword [rbp + 0x7f]
lea r8, str._s:__s
mov rdx, qword [rbp - 0x69]
mov qword [rsp + 0x20], rax
mov r9, qword [r10 + r9*8 + 0x7c170]
call fcn.1800234a0
mov r9, r12
xor r8d, r8d
xor edx, edx
mov ecx, 0xc6
call fcn.180023ea0
inc rax
lea r8, [rbp + 7]
mov qword [rbp + 7], rax
lea rcx, str.UCS_2
lea rax, [0x1800616cc]
mov r9d, 0x35
mov qword [rsp + 0x28], rax
xor edx, edx
mov qword [rsp + 0x20], r12
call fcn.180018a20
mov rdi, rax
jmp 0x18000fdab
mov rax, qword [rbp - 0x69]
lea rdx, [rbp + 0xf]
xor r9d, r9d
mov qword [rbp + 0xf], rax
xor r8d, r8d
mov ecx, 0x113
call fcn.18000c540
mov r12, rax
jmp 0x18000fdab
movsxd r9, dword [r8]
xor edx, edx
xor r8d, r8d
mov ecx, 0xc6
mov r9, qword [r10 + r9*8 + 0x7c170]
call fcn.180023ea0
mov r9, qword [rbp + 0x7f]
xor r8d, r8d
xor edx, edx
mov ecx, 0xc6
mov rbx, rax
call fcn.180023ea0
add rax, 3
add rax, rbx
mov qword [rbp - 0x69], rax
mov r8, qword [rbp + 0x6f]
lea r10, [0x180000000]
add esi, 0x75f3
cmp esi, 0x24dbf
jbe 0x18000fc80
mov qword [rbp - 0x11], rdi
mov esi, 0x20
mov rdi, qword [rbp + 0x77]
jmp 0x18001020e
mov byte [rbp - 0x1e], 0
jmp 0x18001020e
cmp r14d, 0x294d
je 0x18001020e
cmp r14d, 0x3d08
je 0x18000fe25
cmp r14d, 0x5b68
jne 0x18001020e
mov r8d, 3
mov byte [rbp - 0x19], 0
lea rdx, [0x18006423a]
lea rcx, [rbp - 0x21]
call fcn.180047330
jmp 0x18001020e
mov eax, dword [0x18006421d]
mov dword [rbp - 0x1e], eax
movzx eax, byte [0x180064221]
mov byte [rbp - 0x1a], al
jmp 0x18001020e
mov byte [rbp - 0x51], 0x57
jmp 0x18001020e
cmp r14d, 0xccfd
ja 0x18000ff18
je 0x18001020e
cmp r14d, 0x7b25
je 0x18000fec2
cmp r14d, 0x9828
je 0x18000feb9
cmp r14d, 0xa411
je 0x18000fea4
cmp r14d, 0xb688
jne 0x18001020e
mov eax, dword [str.indows]
mov dword [rbp - 0x50], eax
movzx eax, word [0x18006429c]
mov word [rbp - 0x4c], ax
movzx eax, byte [0x18006429e]
mov byte [rbp - 0x4a], al
jmp 0x18001020e
mov rcx, qword [rsp + 0x60]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [rbp + 0x5f], eax
jmp 0x18001020e
mov byte [rbp - 0x50], 0
jmp 0x18001020e
cmp qword [rsp + 0x60], 0xffffffffffffffff
jne 0x18000ff10
mov eax, 0x105
nop
cmp eax, 0x1080f
jbe 0x18000ff04
cmp eax, 0x133e6
je 0x18000ff04
cmp eax, 0x15fbd
je 0x18000ff04
cmp eax, 0x18b94
je 0x18000ff04
cmp eax, 0x1b76b
je 0x18000ff00
cmp eax, 0x1e342
je case.0x180010032.7
jmp 0x18000ff04
mov byte [rbp - 0x41], 0
add eax, 0x2bd7
cmp eax, 0x20e14
jbe 0x18000fed0
mov dword [rbp - 0x29], ebx
jmp 0x18001020e
cmp r14d, 0xd4e8
je 0x18000fc14
cmp r14d, 0xf348
je 0x18000ff61
cmp r14d, 0xf5e9
je 0x18000ff4e
cmp r14d, 0x111a8
jne 0x18001020e
mov word [rbp - 0x79], r11w
jmp 0x18001020e
mov edx, dword [rbp + 0x5f]
xor r8d, r8d
mov rcx, r13
call fcn.18003a090
jmp 0x18001020e
mov eax, 0x4e
mov word [rbp - 0x49], ax
mov eax, 0x54
mov word [rbp - 0x48], ax
jmp 0x18001020e
xor edx, edx
mov rcx, r13
call fcn.180005ef0
mov r8d, dword [rbp + 0x5f]
lea r9, [rbp - 0x29]
mov rcx, qword [rsp + 0x60]
mov rdx, rax
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x18001020e
cmp r14d, 0x1e648
ja 0x180010152
je 0x180010149
cmp r14d, 0x18b28
ja 0x1800100d9
je 0x180010096
cmp r14d, 0x13008
je 0x18001007f
cmp r14d, 0x147c1
je 0x18001020e
cmp r14d, 0x14e68
je 0x180010075
cmp r14d, 0x16cc8
je 0x18001005e
cmp r14d, 0x170ad
jne 0x18001020e
mov eax, dword [rbp + 0x5f]
cmp eax, dword [rbp - 0x29]
je 0x18001020e
mov edx, ebx
nop word [rax + rax]
cmp edx, 7
ja case.0x180010032.0
mov eax, edx
mov ecx, dword [r10 + rax*4 + 0x11024]
add rcx, r10
jmp rcx
mov byte [rbp - 0x41], 0
jmp case.0x180010032.0
mov qword [r13 + 0x10], rbx
mov rax, r13
cmp qword [r13 + 0x18], 0x10
jb 0x18001004c
mov rax, qword [r13]
mov byte [rax], 0
inc edx
lea eax, [rdx + 0x29]
cmp eax, 0x31
jb 0x180010020
jmp 0x18001020e
mov eax, 0x34
mov word [rbp - 0x75], ax
mov eax, 0x41
mov word [rbp - 0x39], ax
jmp 0x18001020e
mov word [rbp - 0x76], r9w
jmp 0x18001020e
mov eax, 0x69
mov word [rbp - 0x78], ax
mov eax, 0x6e
mov word [rbp - 0x77], ax
jmp 0x18001020e
lea rcx, [rbp - 0x39]
dec rcx
nop dword [rax]
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x1800100a0
movzx eax, word [0x180064264]
lea rdx, [0x180064268]
mov word [rcx], ax
mov r8d, 1
movzx eax, byte [0x180064266]
mov byte [rcx + 2], al
lea rcx, [rbp - 0x39]
call fcn.180047330
jmp 0x18001020e
cmp r14d, 0x19999
je 0x18001020e
cmp r14d, 0x1a988
je 0x180010130
cmp r14d, 0x1c285
je 0x180010127
cmp r14d, 0x1c7e8
jne 0x18001020e
mov eax, 0x69
lea rdx, [0x180061fe8]
lea rcx, [rbp - 0x39]
mov word [rbp - 0x30], ax
lea r8d, [rax - 0x68]
call fcn.180047330
jmp 0x18001020e
mov byte [rbp - 0x41], 1
jmp 0x18001020e
mov eax, dword [str.eWebK]
mov dword [rbp - 0x35], eax
movzx eax, word [0x1800642a4]
mov word [rbp - 0x31], ax
jmp 0x18001020e
mov word [rbp - 0x71], ax
jmp 0x18001020e
cmp r14d, 0x25fc8
ja 0x1800101ba
je 0x1800101a9
cmp r14d, 0x1eb71
je case.0x180010032.7
cmp r14d, 0x204a8
je 0x18001019a
cmp r14d, 0x22308
je 0x18001018f
cmp r14d, 0x24168
jne 0x18001020e
mov word [rbp - 0x6d], dx
jmp 0x18001020e
mov eax, 0x2e
mov word [rbp - 0x6e], ax
jmp 0x18001020e
mov eax, 0x37
mov word [rbp - 0x70], dx
mov word [rbp - 0x6f], ax
jmp 0x18001020e
mov eax, 0x484b
mov word [rbp - 0x6c], r9w
mov word [rsp + 0x48], ax
jmp 0x18001020e
cmp r14d, 0x27e28
je 0x180010209
cmp r14d, 0x29c88
je 0x180010200
cmp r14d, 0x2bae8
je 0x1800101f7
cmp r14d, 0x2d948
jne 0x18001020e
mov r8d, 1
lea rdx, [0x180064276]
lea rcx, [rsp + 0x48]
call fcn.180047330
jmp 0x18001020e
mov word [rsp + 0x4b], 0x4d
jmp 0x18001020e
mov word [rsp + 0x4a], 0x54
jmp 0x18001020e
mov byte [rsp + 0x4a], 0
mov r8, qword [rbp + 0x6f]
lea r10, [0x180000000]
mov ebx, 0
imul eax, r15d, 0x6c
lea rcx, [0x18007d750]
lea edx, [rbx + 0x33]
add r14d, eax
lea r9d, [rbx + 0x36]
lea eax, [rbx + 0x35]
lea r11d, [rbx + 0x57]
cmp r14d, dword [rsp + 0x40]
jbe 0x18000fb40
lea ebx, [rax + 0x34]
imul r12d, r15d, 0x618
cmp r15d, r12d
ja case.0x180010032.7
mov edx, 0x63
imul r13d, r15d, 0x27
mov ecx, 0x656d
mov r8d, 0x6f6b
mov r11d, 0x3739
lea eax, [rdx + 0xc]
lea r9d, [rdx - 0x1c]
lea r10d, [rdx + 2]
nop dword [rax]
cmp r15d, 0xdba8
ja 0x180010795
je 0x1800106ed
cmp r15d, 0x6df8
ja 0x180010446
je 0x180010418
cmp r15d, 0x3720
ja 0x180010389
je 0x180010379
cmp r15d, 0x48
je 0x180010350
cmp r15d, 0xb40
je 0x180010316
cmp r15d, 0x1638
je 0x180010305
cmp r15d, 0x2130
je 0x1800102f5
cmp r15d, 0x2c28
jne 0x180010fdd
mov byte [rsp + 0x45], 0
jmp 0x180010fdd
mov word [rsp + 0x42], dx
mov word [rsp + 0x43], r8w
jmp 0x180010fdd
mov word [rsp + 0x40], r9w
mov word [rsp + 0x41], r10w
jmp 0x180010fdd
lea rcx, [rsp + 0x58]
dec rcx
nop
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x180010320
movzx eax, word [0x180063e64]
lea rdx, [0x180063818]
mov word [rcx], ax
mov r8d, 3
lea rcx, [rsp + 0x5a]
call fcn.1800474e0
jmp 0x180010fce
lea rcx, [rsp + 0x58]
mov byte [rsp + 0x58], 0
dec rcx
nop dword [rax]
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x180010360
movzx eax, word [0x180064268]
mov word [rcx], ax
jmp 0x180010fd3
mov dword [rbp - 0x69], 0x726843
mov word [rbp - 0x66], ax
jmp 0x180010fdd
cmp r15d, 0x4218
je 0x18001040b
cmp r15d, 0x4d10
je 0x1800103ea
cmp r15d, 0x5808
je 0x1800103c9
cmp r15d, 0x6300
jne 0x180010fdd
mov r8d, 0xa
lea rdx, [rbp - 0x59]
lea ecx, [r8 - 6]
call fcn.180047810
jmp 0x180010fce
movzx eax, word [0x1800642da]
mov word [rsp + 0x51], ax
movzx eax, byte [0x1800642dc]
mov byte [rsp + 0x53], al
mov byte [rsp + 0x54], 0
jmp 0x180010fd8
mov r8d, 1
lea rdx, [0x1800643b9]
lea rcx, [rsp + 0x50]
call fcn.1800474e0
mov byte [rsp + 0x51], 0
jmp 0x180010fce
mov word [rbp - 0x65], cx
mov byte [rbp - 0x63], 0
jmp 0x180010fdd
mov r8d, 0xa
lea rdx, [rbp - 0x58]
lea ecx, [r8 + 0x5d]
call fcn.180047810
movzx eax, word [0x180064398]
mov word [rsp + 0x60], ax
movzx eax, byte [0x18006439a]
mov byte [rbp - 0x7f], al
jmp 0x180010fce
cmp r15d, 0xa4d0
ja 0x1800104fb
je 0x1800104cd
cmp r15d, 0x78f0
je 0x1800104bd
cmp r15d, 0x83e8
je 0x1800104a1
cmp r15d, 0x8ee0
je 0x180010486
cmp r15d, 0x99d8
jne 0x180010fdd
mov byte [rbp - 0x5b], 0
jmp 0x180010fdd
mov r8d, 1
lea rdx, [0x18006431a]
lea rcx, [rbp - 0x5c]
call fcn.1800474e0
jmp 0x180010fce
mov eax, dword [0x180064359]
mov dword [rbp - 0x61], eax
movzx eax, byte [0x18006435d]
mov byte [rbp - 0x5d], al
mov byte [rbp - 0x5c], 0
jmp 0x180010fd8
mov dword [rbp - 0x7f], 0x726166
mov word [rbp - 0x7c], bx
jmp 0x180010fdd
lea rax, [rbp - 0x21]
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1800104e0
lea rdx, [rbp - 0x21]
mov rcx, rdi
call fcn.180031070
jmp 0x180010fce
cmp r15d, 0xafc8
je 0x180010562
cmp r15d, 0xbac0
je 0x18001063f
cmp r15d, 0xc5b8
je 0x180010596
cmp r15d, 0xd0b0
jne 0x180010fdd
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x180010550
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x180010548
mov rax, qword [rdi]
mov word [rax + rcx], 0x3b
jmp 0x180010562
mov r9b, 0x3b
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 1]
call fcn.1800025d0
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x18001058e
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x180010583
mov rax, qword [rdi]
mov word [rax + rcx], 0x20
jmp 0x180010fce
mov r9b, 0x20
jmp 0x180010fbf
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x1800105bf
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x1800105b7
mov rax, qword [rdi]
mov word [rax + rcx], 0x20
jmp 0x1800105d1
xor r8d, r8d
mov r9b, 0x20
mov rcx, rdi
lea edx, [r8 + 1]
call fcn.1800025d0
mov rdx, qword [rdi + 0x18]
mov rcx, qword [rdi + 0x10]
mov rax, rdx
sub rax, rcx
cmp rax, 3
jb 0x18001061b
lea rax, [rcx + 3]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x1800105f9
mov rax, qword [rdi]
lea rbx, [rax + rcx]
mov r8d, 3
mov rcx, rbx
lea rdx, [0x1800642bc]
call fcn.180042e20
mov byte [rbx + 3], 0
jmp 0x180010fce
xor r8d, r8d
mov qword [rsp + 0x20], 3
lea r9, [0x1800642bc]
mov rcx, rdi
lea edx, [r8 + 3]
call fcn.180002730
jmp 0x180010fce
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x180010668
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x180010660
mov rax, qword [rdi]
mov word [rax + rcx], 0x28
jmp 0x18001067a
xor r8d, r8d
mov r9b, 0x28
mov rcx, rdi
lea edx, [r8 + 1]
call fcn.1800025d0
lea rax, [rbp - 0x51]
mov rsi, 0xffffffffffffffff
inc rsi
cmp byte [rax + rsi], 0
jne 0x180010685
mov rdx, qword [rdi + 0x18]
mov rcx, qword [rdi + 0x10]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x1800106d1
lea rax, [rcx + rsi]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x1800106b5
mov rax, qword [rdi]
lea rbx, [rax + rcx]
mov r8, rsi
mov rcx, rbx
lea rdx, [rbp - 0x51]
call fcn.180042e20
mov byte [rsi + rbx], 0
jmp 0x180010fce
lea r9, [rbp - 0x51]
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call fcn.180002730
jmp 0x180010fce
lea rax, [rbp - 0x79]
mov rbx, 0xffffffffffffffff
nop dword [rax + rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x180010700
mov rcx, qword [rdi + 0x18]
mov rsi, qword [rdi + 0x10]
mov rax, rcx
sub rax, rsi
cmp rbx, rax
ja 0x18001074a
lea rax, [rbx + rsi]
mov r14, rdi
mov qword [rdi + 0x10], rax
cmp rcx, 0x10
jb 0x180010730
mov r14, qword [rdi]
lea rcx, [r14 + rsi]
mov r8, rbx
lea rdx, [rbp - 0x79]
call fcn.180042e20
lea rax, [rbx + r14]
mov byte [rax + rsi], 0
jmp 0x180010761
lea r9, [rbp - 0x79]
mov qword [rsp + 0x20], rbx
xor r8d, r8d
mov rdx, rbx
mov rcx, rdi
call fcn.180002730
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x18001078d
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x180010782
mov rax, qword [rdi]
mov word [rcx + rax], 0x3b
jmp 0x180010fce
mov r9b, 0x3b
jmp 0x180010fbf
cmp r15d, 0x14958
ja 0x180010b30
je 0x180010aba
cmp r15d, 0x11280
ja 0x1800109a1
je 0x18001092e
cmp r15d, 0xe6a0
je 0x180010562
cmp r15d, 0xf198
je 0x180010894
cmp r15d, 0xfc90
je 0x180010562
cmp r15d, 0x10788
jne 0x180010fdd
lea rax, [rbp - 0x39]
mov rsi, 0xffffffffffffffff
nop word [rax + rax]
inc rsi
cmp byte [rax + rsi], 0
jne 0x180010800
mov rdx, qword [rdi + 0x18]
mov rcx, qword [rdi + 0x10]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x180010849
lea rax, [rcx + rsi]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x180010830
mov rax, qword [rdi]
lea rbx, [rax + rcx]
mov r8, rsi
mov rcx, rbx
lea rdx, [rbp - 0x39]
call fcn.180042e20
mov byte [rsi + rbx], 0
jmp 0x180010860
lea r9, [rbp - 0x39]
xor r8d, r8d
mov qword [rsp + 0x20], rsi
mov rdx, rsi
mov rcx, rdi
call fcn.180002730
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x18001088c
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x180010881
mov rax, qword [rdi]
mov word [rax + rcx], 0x2f
jmp 0x180010fce
mov r9b, 0x2f
jmp 0x180010fbf
mov rdx, qword [rdi + 0x18]
mov rcx, qword [rdi + 0x10]
mov rax, rdx
sub rax, rcx
cmp rax, 3
jb 0x1800108db
lea rax, [rcx + 3]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x1800108bc
mov rax, qword [rdi]
lea rbx, [rax + rcx]
mov r8d, 3
mov rcx, rbx
lea rdx, [0x1800642b4]
call fcn.180042e20
mov byte [rbx + 3], 0
jmp 0x1800108fa
xor r8d, r8d
mov qword [rsp + 0x20], 3
lea r9, [0x1800642b4]
mov rcx, rdi
lea edx, [r8 + 3]
call fcn.180002730
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x180010926
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x18001091b
mov rax, qword [rdi]
mov word [rax + rcx], 0x29
jmp 0x180010fce
mov r9b, 0x29
jmp 0x180010fbf
lea rax, [rbp - 0x71]
mov rdx, 0xffffffffffffffff
nop dword [rax]
inc rdx
cmp byte [rax + rdx], 0
jne 0x180010940
mov r8, qword [rdi + 0x18]
mov rcx, qword [rdi + 0x10]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x180010988
lea rsi, [rcx + rdx]
mov rbx, rdi
mov qword [rdi + 0x10], rsi
cmp r8, 0x10
jb 0x180010970
mov rbx, qword [rdi]
mov r8, rdx
add rcx, rbx
lea rdx, [rbp - 0x71]
call fcn.180042e20
mov byte [rsi + rbx], 0
jmp 0x180010fce
lea r9, [rbp - 0x71]
mov qword [rsp + 0x20], rdx
xor r8d, r8d
mov rcx, rdi
call fcn.180002730
jmp 0x180010fce
cmp r15d, 0x11d78
je 0x180010562
cmp r15d, 0x12870
je 0x180010a06
cmp r15d, 0x13368
je 0x1800109d2
cmp r15d, 0x13e60
jne 0x180010fdd
jmp 0x180010562
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x1800109fe
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x1800109f3
mov rax, qword [rdi]
mov word [rax + rcx], 0x2c
jmp 0x180010fce
mov r9b, 0x2c
jmp 0x180010fbf
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x180010a2f
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x180010a27
mov rax, qword [rdi]
mov word [rax + rcx], 0x28
jmp 0x180010a41
xor r8d, r8d
mov r9b, 0x28
mov rcx, rdi
lea edx, [r8 + 1]
call fcn.1800025d0
lea rax, [rsp + 0x48]
mov rsi, 0xffffffffffffffff
nop dword [rax]
inc rsi
cmp byte [rax + rsi], 0
jne 0x180010a50
mov rdx, qword [rdi + 0x18]
mov rcx, qword [rdi + 0x10]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x180010a9d
lea rax, [rcx + rsi]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x180010a80
mov rax, qword [rdi]
lea rbx, [rax + rcx]
mov r8, rsi
mov rcx, rbx
lea rdx, [rsp + 0x48]
call fcn.180042e20
mov byte [rbx + rsi], 0
jmp 0x180010fce
lea r9, [rsp + 0x48]
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call fcn.180002730
jmp 0x180010fce
lea rax, [rsp + 0x58]
mov rsi, 0xffffffffffffffff
inc rsi
cmp byte [rax + rsi], 0
jne 0x180010ac6
mov rdx, qword [rdi + 0x18]
mov rcx, qword [rdi + 0x10]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x180010b13
lea rax, [rcx + rsi]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x180010af6
mov rax, qword [rdi]
lea rbx, [rax + rcx]
mov r8, rsi
mov rcx, rbx
lea rdx, [rsp + 0x58]
call fcn.180042e20
mov byte [rbx + rsi], 0
jmp 0x180010fce
lea r9, [rsp + 0x58]
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call fcn.180002730
jmp 0x180010fce
cmp r15d, 0x18030
ja 0x180010d3a
je 0x180010f93
cmp r15d, 0x15450
je 0x180010c89
cmp r15d, 0x15f48
je 0x180010c55
cmp r15d, 0x16a40
je 0x180010bed
cmp r15d, 0x17538
jne 0x180010fdd
lea rax, [rsp + 0x50]
mov rsi, 0xffffffffffffffff
inc rsi
cmp byte [rax + rsi], 0
jne 0x180010b83
mov rdx, qword [rdi + 0x18]
mov rcx, qword [rdi + 0x10]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x180010bd0
lea rax, [rcx + rsi]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x180010bb3
mov rax, qword [rdi]
lea rbx, [rax + rcx]
mov r8, rsi
mov rcx, rbx
lea rdx, [rsp + 0x50]
call fcn.180042e20
mov byte [rbx + rsi], 0
jmp 0x180010fce
lea r9, [rsp + 0x50]
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call fcn.180002730
jmp 0x180010fce
lea rax, [rbp - 0x69]
mov rsi, 0xffffffffffffffff
nop dword [rax + rax]
inc rsi
cmp byte [rax + rsi], 0
jne 0x180010c00
mov rdx, qword [rdi + 0x18]
mov rcx, qword [rdi + 0x10]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x180010c4c
lea rax, [rcx + rsi]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x180010c30
mov rax, qword [rdi]
lea rbx, [rax + rcx]
mov r8, rsi
mov rcx, rbx
lea rdx, [rbp - 0x69]
call fcn.180042e20
mov byte [rbx + rsi], 0
jmp 0x180010860
lea r9, [rbp - 0x69]
jmp 0x18001084d
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x180010c81
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x180010c76
mov rax, qword [rdi]
mov word [rax + rcx], 0x29
jmp 0x180010562
mov r9b, 0x29
jmp 0x180010553
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x180010cb2
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x180010caa
mov rax, qword [rdi]
mov word [rax + rcx], 0x20
jmp 0x180010cc4
xor r8d, r8d
mov r9b, 0x20
mov rcx, rdi
lea edx, [r8 + 1]
call fcn.1800025d0
lea rax, [rsp + 0x40]
mov rsi, 0xffffffffffffffff
inc rsi
cmp byte [rax + rsi], 0
jne 0x180010cd0
mov rdx, qword [rdi + 0x18]
mov rcx, qword [rdi + 0x10]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x180010d1d
lea rax, [rcx + rsi]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x180010d00
mov rax, qword [rdi]
lea rbx, [rax + rcx]
mov r8, rsi
mov rcx, rbx
lea rdx, [rsp + 0x40]
call fcn.180042e20
mov byte [rbx + rsi], 0
jmp 0x180010fce
lea r9, [rsp + 0x40]
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call fcn.180002730
jmp 0x180010fce
cmp r15d, 0x18b28
je 0x180010f28
cmp r15d, 0x19620
je 0x180010ecd
cmp r15d, 0x1a118
je 0x180010e1c
cmp r15d, 0x1ac10
jne 0x180010fdd
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x180010d97
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x180010d8f
mov rax, qword [rdi]
mov word [rax + rcx], 0x2f
jmp 0x180010da9
xor r8d, r8d
mov r9b, 0x2f
mov rcx, rdi
lea edx, [r8 + 1]
call fcn.1800025d0
lea rax, [rbp - 0x61]
mov rsi, 0xffffffffffffffff
inc rsi
cmp byte [rax + rsi], 0
jne 0x180010db4
mov rdx, qword [rdi + 0x18]
mov rcx, qword [rdi + 0x10]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x180010e00
lea rax, [rcx + rsi]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x180010de4
mov rax, qword [rdi]
lea rbx, [rax + rcx]
mov r8, rsi
mov rcx, rbx
lea rdx, [rbp - 0x61]
call fcn.180042e20
mov byte [rbx + rsi], 0
jmp 0x180010fce
lea r9, [rbp - 0x61]
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call fcn.180002730
jmp 0x180010fce
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x180010e45
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x180010e3d
mov rax, qword [rdi]
mov word [rax + rcx], 0x20
jmp 0x180010e57
xor r8d, r8d
mov r9b, 0x20
mov rcx, rdi
lea edx, [r8 + 1]
call fcn.1800025d0
lea rax, [rsp + 0x60]
mov rsi, 0xffffffffffffffff
inc rsi
cmp byte [rax + rsi], 0
jne 0x180010e63
mov rdx, qword [rdi + 0x18]
mov rcx, qword [rdi + 0x10]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x180010eb0
lea rax, [rcx + rsi]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x180010e93
mov rax, qword [rdi]
lea rbx, [rax + rcx]
mov r8, rsi
mov rcx, rbx
lea rdx, [rsp + 0x60]
call fcn.180042e20
mov byte [rsi + rbx], 0
jmp 0x180010fce
lea r9, [rsp + 0x60]
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call fcn.180002730
jmp 0x180010fce
mov rdx, qword [rdi + 0x18]
mov rcx, qword [rdi + 0x10]
mov rax, rdx
sub rax, rcx
cmp rax, 2
jb 0x180010f04
lea rax, [rcx + 2]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x180010ef5
mov rax, qword [rdi]
mov word [rax + rcx], r11w
mov byte [rax + rcx + 2], 0
jmp 0x180010fce
xor r8d, r8d
mov qword [rsp + 0x20], 2
lea r9, [0x1800642b8]
mov rcx, rdi
lea edx, [r8 + 2]
call fcn.180002730
jmp 0x180010fce
lea rax, [rbp - 0x59]
mov rsi, 0xffffffffffffffff
inc rsi
cmp byte [rax + rsi], 0
jne 0x180010f33
mov rdx, qword [rdi + 0x18]
mov rcx, qword [rdi + 0x10]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x180010f7c
lea rax, [rcx + rsi]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x180010f63
mov rax, qword [rdi]
lea rbx, [rax + rcx]
mov r8, rsi
mov rcx, rbx
lea rdx, [rbp - 0x59]
call fcn.180042e20
mov byte [rsi + rbx], 0
jmp 0x180010f93
lea r9, [rbp - 0x59]
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call fcn.180002730
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x180010fbc
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x180010fb4
mov rax, qword [rdi]
mov word [rax + rcx], 0x2e
jmp 0x180010fce
mov r9b, 0x2e
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 1]
call fcn.1800025d0
mov edx, 0x63
mov ecx, 0x656d
mov eax, 0x6f
mov ebx, 0x69
add r15d, r13d
mov r8d, 0x6f6b
mov r11d, 0x3739
lea r9d, [rbx - 0x22]
lea r10d, [rbx - 4]
cmp r15d, r12d
jbe 0x180010280
mov rax, qword [rbp - 0x41]
mov rbx, qword [rsp + 0x148]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret