Function at 0x14018db70
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], r9
mov word [rsp + 0x18], r8w
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa8
mov rax, qword [rcx + 0x28]
mov rsi, qword [rcx]
movzx r12d, r8w
mov r15, qword [rsi + 0x18]
mov qword [rsp + 0x78], rax
movsxd rbx, edx
mov rax, rbx
xor ebp, ebp
mov qword [rsp + 0x90], r15
imul rax, rax, 0x58
movzx r8d, byte [rax + rcx + 0x74]
lea r14, [rax + rcx + 0x40]
mov rax, qword [rcx + 0x10]
lea ecx, [rbp + 1]
imul r8, r8, 0x58
lea r13, [r8 + rax + 8]
mov qword [rsp + 0x70], r14
mov eax, dword [r13 + 0x2c]
mov qword [rsp + 0x80], r13
mov dword [rsp + 0x30], eax
mov eax, dword [r14]
mov edi, eax
shr edi, 0x19
and edi, 1
mov dword [rsp + 0x64], edi
bt eax, 0x17
jae 0x14018dc0e
mov dword [rsp + 0x34], ecx
test r12b, 0x40
je 0x14018dc12
mov dword [rsp + 0x34], ebp
mov rcx, r15
call fcn.14014d800
mov rcx, r15
mov dword [rsp + 0x68], eax
mov dword [r14 + 0x28], eax
mov dword [r14 + 0x24], eax
call fcn.14014d800
mov dword [rsp + 0x88], eax
mov dword [r14 + 0x2c], eax
cmp byte [r14 + 0x34], bpl
jbe 0x14018dc68
test byte [r13 + 0x29], 8
je 0x14018dc68
mov r9d, dword [rsi + 0x58]
xor r8d, r8d
mov rcx, r15
inc r9d
lea edx, [r8 + 7]
mov dword [rsp + 0x20], ebp
mov dword [rsi + 0x58], r9d
mov dword [r14 + 0x18], r9d
call fcn.14014d8e0
mov ecx, dword [r14]
mov qword [rsp + 0x98], 0xa
bt ecx, 0x1b
jae 0x14018e02d
mov rax, qword [r14 + 0x10]
mov ecx, dword [rsi + 0x48]
mov r8d, dword [rsi + 0x4c]
movsxd rdx, dword [rax]
mov r13, qword [rax + 0x20]
mov r9, qword [rax + 8]
inc dword [rsi + 0x64]
lea r10d, [rdx + 2]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x48], r9
mov dword [rsp + 0x5c], r10d
mov dword [rsp + 0xf8], r8d
cmp r10d, ecx
jg 0x14018dcce
lea eax, [r8 + r10]
sub ecx, r10d
mov dword [rsi + 0x4c], eax
mov dword [rsi + 0x48], ecx
jmp 0x14018dce1
mov eax, dword [rsi + 0x58]
lea ecx, [rax + 1]
add eax, r10d
mov dword [rsp + 0xf8], ecx
mov dword [rsi + 0x58], eax
mov edi, 1
mov r12, rdx
cmp edx, edi
jl 0x14018ddb3
mov r15d, dword [rsp + 0xf8]
mov r14d, edx
nop dword [rax]
mov ebx, ebp
mov rax, rbp
test r12, r12
jle 0x14018dd96
nop
cmp dword [r13 + rax*8], edi
je 0x14018dd23
inc rax
inc ebx
cmp rax, r12
jl 0x14018dd10
jmp 0x14018dd96
lea rax, [rax + rax*2]
lea r13d, [r15 + rdi + 1]
movsxd rcx, dword [r9 + rax*4 + 8]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x28]
imul rcx, rcx, 0x38
mov rcx, qword [rcx + rax]
mov rdx, qword [rcx + 0x18]
test rdx, rdx
je 0x14018dd5f
cmp byte [rdx], 0x84
jne 0x14018dd5f
mov r8d, dword [rdx + 0x30]
mov rcx, qword [rsi + 0x18]
mov edx, 0xe
jmp 0x14018dd80
mov r8d, r13d
mov rcx, rsi
call fcn.14018adb0
cmp eax, r13d
je 0x14018dd8c
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x14018dd8c
mov r8d, eax
mov edx, 0xf
mov r9d, r13d
mov dword [rsp + 0x20], ebp
call fcn.14014d8e0
mov r9, qword [rsp + 0x48]
mov r13, qword [rsp + 0x50]
cmp ebx, r14d
je 0x14018dda6
inc edi
cmp edi, r14d
jle 0x14018dd00
mov r14, qword [rsp + 0x70]
mov r15, qword [rsp + 0x90]
mov rax, qword [rsp + 0x40]
movsxd rbx, dword [r15 + 0x34]
mov eax, dword [rax + 0x28]
mov dword [rsp + 0x34], eax
cmp dword [r15 + 0x38], ebx
jg 0x14018ddd5
mov rcx, r15
call fcn.14014b500
test eax, eax
jne 0x14018de08
mov rax, qword [r15 + 8]
inc dword [r15 + 0x34]
mov edx, dword [rsp + 0x34]
lea rcx, [rbx + rbx*2]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0xf8]
mov byte [rax + rcx*8 + 3], bpl
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov word [rax + rcx*8], 7
mov dword [rax + rcx*8 + 8], edx
movsxd rbx, dword [r15 + 0x34]
cmp dword [r15 + 0x38], ebx
jg 0x14018de1e
mov rcx, r15
call fcn.14014b500
test eax, eax
jne 0x14018de52
inc dword [r15 + 0x34]
mov rcx, qword [r15 + 8]
lea rdx, [rbx + rbx*2]
lea eax, [rdi - 1]
mov byte [rcx + rdx*8 + 3], bpl
mov dword [rcx + rdx*8 + 0xc], ebp
mov dword [rcx + rdx*8 + 4], eax
mov eax, dword [rsp + 0xf8]
mov qword [rcx + rdx*8 + 0x10], rbp
inc eax
mov word [rcx + rdx*8], 7
mov dword [rcx + rdx*8 + 8], eax
mov rax, qword [rsp + 0x40]
movsxd rbx, dword [r15 + 0x34]
mov edi, 0xfffffffe
cmp dword [rax + 0x38], ebp
mov rax, qword [rax + 0x30]
mov ecx, 0xfffffff5
cmovne edi, ecx
mov qword [rsp + 0x80], rax
cmp dword [r15 + 0x38], ebx
jg 0x14018de90
mov rcx, r15
call fcn.14014b500
test eax, eax
je 0x14018de90
mov ebx, 1
jmp 0x14018decb
mov rax, qword [r15 + 8]
inc dword [r15 + 0x34]
mov r8d, dword [rsp + 0x30]
mov r9d, dword [rsp + 0x68]
mov edx, dword [rsp + 0xf8]
lea rcx, [rbx + rbx*2]
mov byte [rax + rcx*8 + 3], bpl
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rbp
mov word [rax + rcx*8], 0x80
mov r8, qword [rsp + 0x80]
mov r9d, edi
mov edx, ebx
mov rcx, r15
call fcn.14014d310
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x38], ebp
test r12, r12
jle 0x14018df69
mov r11, qword [rsp + 0x48]
mov r15, qword [rsp + 0x78]
lea r10, [r13 + 4]
add r11, 8
nop
cmp byte [r10], bpl
je 0x14018df54
movsxd rcx, dword [r11]
imul rcx, rcx, 0x38
add rcx, qword [r15 + 0x28]
je 0x14018df54
movzx edx, byte [rcx + 0x1a]
test dl, 4
jne 0x14018df54
cmp dword [r14 + 0x18], ebp
je 0x14018df2a
mov rax, qword [rcx]
test byte [rax + 2], 1
je 0x14018df54
movsxd rax, dword [rcx + 8]
or dl, 4
mov byte [rcx + 0x1a], dl
test eax, eax
js 0x14018df54
mov rdx, rax
mov rax, qword [rcx + 0x20]
imul rdx, rdx, 0x38
add rdx, qword [rax + 0x28]
dec byte [rdx + 0x1b]
jne 0x14018df54
mov rcx, r14
call fcn.140131da0
add r10, 8
add r11, 0xc
dec r12
jne 0x14018df00
mov r15, qword [rsp + 0x90]
mov r12d, dword [rsp + 0x30]
mov r10d, dword [rsp + 0x5c]
mov byte [r14 + 0x35], 0x83
mov dword [r14 + 0x38], r12d
mov eax, dword [r15 + 0x34]
mov r11d, 0xa
mov dword [r14 + 0x3c], eax
mov eax, dword [rsp + 0xf8]
lea rcx, [rsi + 0x80]
lea r9d, [rax + r10 - 1]
mov r8d, r11d
mov edx, dword [rcx]
cmp edx, eax
jl 0x14018dfd0
cmp edx, r9d
jg 0x14018dfd0
cmp byte [rcx - 8], bpl
je 0x14018dfce
movzx eax, byte [rsi + 0x25]
cmp al, 8
jae 0x14018dfc3
movzx eax, al
mov dword [rsi + rax*4 + 0x28], edx
inc byte [rsi + 0x25]
mov eax, dword [rsp + 0xf8]
mov byte [rcx - 8], bpl
mov dword [rcx], ebp
add rcx, 0x18
dec r8
jne 0x14018dfa0
cmp r10d, dword [rsi + 0x48]
jle 0x14018dfe6
mov dword [rsi + 0x48], r10d
mov dword [rsi + 0x4c], eax
dec dword [rsi + 0x64]
lea rcx, [rsi + 0x80]
mov r8, r11
mov edx, dword [rcx]
test edx, edx
je 0x14018e01f
mov eax, dword [rsi + 0x64]
cmp dword [rcx - 4], eax
jle 0x14018e01f
cmp byte [rcx - 8], bpl
je 0x14018e01d
movzx eax, byte [rsi + 0x25]
cmp al, 8
jae 0x14018e019
movzx eax, al
mov dword [rsi + rax*4 + 0x28], edx
inc byte [rsi + 0x25]
mov byte [rcx - 8], bpl
mov dword [rcx], ebp
add rcx, 0x18
dec r8
jne 0x14018dff3
jmp 0x14018ebea
bt ecx, 0xc
jae 0x14018e0f3
movzx eax, byte [rsi + 0x25]
test al, al
jne 0x14018e048
inc dword [rsi + 0x58]
mov r13d, dword [rsi + 0x58]
jmp 0x14018e055
dec al
movzx eax, al
mov byte [rsi + 0x25], al
mov r13d, dword [rsi + rax*4 + 0x28]
mov rax, qword [rsp + 0x78]
mov r12d, dword [rsp + 0x30]
mov rdx, qword [rax + 0x28]
mov eax, dword [rax + 0x1c]
test eax, eax
je 0x14018e092
mov r9, qword [rsp + 0x108]
cmp dword [rdx + 0xc], r12d
jne 0x14018e08a
test qword [rdx + 0x28], r9
jne 0x14018e08a
cmp dword [rdx + 0x10], 0xffffffff
jne 0x14018e08a
test byte [rdx + 0x18], 3
jne 0x14018e095
add rdx, 0x38
dec eax
jne 0x14018e072
mov rdx, rbp
mov r9d, r13d
mov r8, r14
mov rcx, rsi
call fcn.14018c420
mov ebx, dword [r14 + 0x28]
mov edx, 0x15
mov rcx, r15
mov r9d, ebx
mov r8d, eax
mov edi, eax
mov dword [rsp + 0x20], ebp
call fcn.14014d8e0
mov r9d, ebx
mov r8d, r12d
mov edx, 0x34
mov rcx, r15
mov dword [rsp + 0x20], edi
call fcn.14014d8e0
mov r9d, edi
or r8d, 0xffffffff
mov edx, r12d
mov rcx, rsi
call fcn.140132e90
mov byte [r14 + 0x35], 0x89
jmp 0x14018ebed
bt ecx, 0xd
jae 0x14018e34f
mov rax, qword [rsp + 0x78]
mov r8d, dword [rsp + 0x30]
mov dword [rsp + 0x38], 0x89
mov ecx, dword [rax + 0x1c]
mov r12, qword [rax + 0x28]
mov dword [rsp + 0x70], ebp
mov r13, r12
mov eax, ecx
test ecx, ecx
je 0x14018e14d
cmp dword [r13 + 0xc], r8d
jne 0x14018e145
mov rdx, qword [rsp + 0x108]
test qword [r13 + 0x28], rdx
jne 0x14018e145
cmp dword [r13 + 0x10], 0xffffffff
jne 0x14018e145
test byte [r13 + 0x18], 0x24
jne 0x14018e158
add r13, 0x38
dec eax
jne 0x14018e123
mov rdx, qword [rsp + 0x108]
mov r13, rbp
test ecx, ecx
je 0x14018e186
nop dword [rax]
cmp dword [r12 + 0xc], r8d
jne 0x14018e17e
test qword [r12 + 0x28], rdx
jne 0x14018e17e
cmp dword [r12 + 0x10], 0xffffffff
jne 0x14018e17e
test byte [r12 + 0x18], 0x18
jne 0x14018e189
add r12, 0x38
dec ecx
jne 0x14018e160
mov r12, rbp
test edi, edi
je 0x14018e196
mov rax, r13
mov r13, r12
mov r12, rax
test r13, r13
je 0x14018e208
mov rbx, qword [r13]
lea r8, [rsp + 0x34]
mov rcx, rsi
mov rdx, qword [rbx + 0x18]
mov dword [rsp + 0xf8], 0x2e2c2d2f
call fcn.140132da0
movzx ecx, byte [rbx]
mov r9d, dword [rsp + 0x68]
movzx edx, byte [rsp + rcx + 0xab]
mov r8d, dword [rsp + 0x30]
mov rcx, r15
mov edi, eax
mov dword [rsp + 0x20], eax
call fcn.14014d8e0
mov r8d, 1
mov edx, edi
mov rcx, rsi
call fcn.14013eb00
mov edx, dword [rsp + 0x34]
call fcn.140132c80
mov rdx, r13
mov rcx, r14
call fcn.140131da0
mov edi, dword [rsp + 0x64]
jmp 0x14018e228
mov r9d, dword [rsp + 0x68]
mov edx, 0x41
mov eax, 0x3f
test edi, edi
mov rcx, r15
mov dword [rsp + 0x20], ebp
cmovne edx, eax
call fcn.14014d8e0
test r12, r12
je 0x14018e290
mov rbx, qword [r12]
inc dword [rsi + 0x58]
mov eax, dword [rsi + 0x58]
mov rdx, qword [rbx + 0x18]
mov r8d, eax
mov rcx, rsi
mov dword [rsp + 0x70], eax
call fcn.140153910
movzx r11d, byte [rbx]
cmp r11b, 0x4f
je 0x14018e272
cmp r11b, 0x4d
je 0x14018e272
mov eax, 0x4f
mov r10d, 0x4d
test edi, edi
cmovne r10d, eax
mov dword [rsp + 0x38], r10d
jmp 0x14018e285
mov eax, 0x50
mov ecx, 0x4e
test edi, edi
cmovne eax, ecx
mov dword [rsp + 0x38], eax
mov rdx, r12
mov rcx, r14
call fcn.140131da0
mov ecx, dword [r15 + 0x34]
test edi, edi
sete al
mov dword [r14 + 0x3c], ecx
add al, 0x42
mov byte [r14 + 0x35], al
mov eax, dword [rsp + 0x30]
mov dword [r14 + 0x38], eax
test r13, r13
jne 0x14018e2ba
test r12, r12
jne 0x14018e2ba
mov byte [r14 + 0x36], 1
mov ebx, dword [rsp + 0x38]
cmp ebx, 0x89
je 0x14018ebe7
movzx eax, byte [rsi + 0x25]
test al, al
jne 0x14018e2db
inc dword [rsi + 0x58]
mov r13d, dword [rsi + 0x58]
jmp 0x14018e2e8
dec al
movzx eax, al
mov byte [rsi + 0x25], al
mov r13d, dword [rsi + rax*4 + 0x28]
mov r12d, dword [rsp + 0x30]
mov r9d, r13d
mov edx, 0x3d
mov rcx, r15
mov r8d, r12d
mov dword [rsp + 0x20], ebp
call fcn.14014d8e0
mov r9d, r13d
or r8d, 0xffffffff
mov edx, r12d
mov rcx, rsi
call fcn.140132e90
mov r9d, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x70]
mov edx, ebx
mov rcx, r15
mov dword [rsp + 0x20], r13d
call fcn.14014d8e0
mov r11, qword [r15 + 8]
test r11, r11
je 0x14018ebed
movsxd rax, dword [r15 + 0x34]
lea rcx, [rax + rax*2]
mov byte [r11 + rcx*8 - 0x15], 0x6b
jmp 0x14018ebed
test ecx, 0x30000
je 0x14018e859
test byte [rsp + 0x100], 1
mov eax, dword [r14 + 0x20]
mov rbx, qword [r14 + 0x10]
movsxd rdi, dword [r14 + 4]
mov dword [rsp + 0x38], eax
mov rax, qword [rbx + 0x10]
mov eax, dword [rax + rdi*4]
mov dword [rsp + 0x40], ebp
mov r13, rbp
mov qword [rsp + 0x50], rbp
mov edx, ebp
mov dword [rsp + 0xf8], eax
je 0x14018e3a5
bt ecx, 0x18
jae 0x14018e3a5
cmp dword [rbx + 8], edi
jle 0x14018e3a5
mov edx, 1
mov dword [rsp + 0x40], edx
bt ecx, 0x14
jae 0x14018e3e2
mov r9, qword [rsp + 0x108]
mov edx, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x78]
mov r8d, eax
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 0x18
call fcn.140170180
mov edx, 1
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0xf8]
test dword [r14], 0x200000
je 0x14018e419
mov r9, qword [rsp + 0x108]
mov edx, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x78]
mov r8d, eax
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 0x24
call fcn.140170180
mov edx, 1
mov r13, rax
mov r9, qword [rsp + 0x108]
mov r8, qword [rsp + 0x78]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edx
mov rcx, rsi
mov rdx, r14
call fcn.14018cbb0
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsi]
mov dword [rsp + 0xf8], eax
call fcn.140147630
mov qword [rsp + 0x80], rax
mov eax, dword [r14 + 0x28]
mov dword [rsp + 0x68], eax
cmp edi, dword [rbx + 8]
jge 0x14018e48c
mov rcx, qword [rbx + 0x48]
mov edx, ebp
cmp byte [rdi + rcx], dl
sete dl
cmp dword [rsp + 0x64], edx
jne 0x14018e48c
mov rcx, qword [rsp + 0x50]
mov rax, r13
mov r13, rcx
mov qword [rsp + 0x50], rax
jmp 0x14018e491
mov rax, qword [rsp + 0x50]
test r13, r13
je 0x14018e4a8
test byte [r13 + 0x18], 0x28
jne 0x14018e4a8
mov dword [rsp + 0x70], ebp
mov ecx, 1
jmp 0x14018e4b1
mov ecx, 1
mov dword [rsp + 0x70], ecx
test rax, rax
je 0x14018e4c0
test byte [rax + 0x18], 0x28
mov dword [rsp + 0x5c], ebp
je 0x14018e4c4
mov dword [rsp + 0x5c], ecx
test r13, r13
jne 0x14018e4d1
mov dword [rsp + 0x58], ebp
test edi, edi
jle 0x14018e4d5
mov dword [rsp + 0x58], ecx
mov ebx, edi
test r13, r13
je 0x14018e554
mov rax, qword [r13]
mov ebx, dword [rsp + 0xf8]
mov rcx, rsi
mov rax, qword [rax + 0x18]
add ebx, edi
mov rdx, rax
mov r8d, ebx
mov qword [rsp + 0x40], rax
call fcn.140153910
mov r9d, dword [rsp + 0x68]
mov r8d, ebx
mov rbx, qword [rsp + 0x40]
mov rcx, r15
mov rdx, rbx
call fcn.140153b40
mov r9, qword [rsp + 0x48]
test r9, r9
je 0x14018e584
movzx edx, byte [rdi + r9]
mov rcx, rbx
call fcn.14013a260
mov r9, qword [rsp + 0x48]
cmp al, 0x62
jne 0x14018e53c
mov byte [rdi + r9], al
movzx edx, byte [rdi + r9]
mov rcx, rbx
call fcn.140133020
test eax, eax
je 0x14018e584
mov byte [rdi + r9], 0x62
jmp 0x14018e584
cmp dword [rsp + 0x40], ebp
je 0x14018e587
mov r9d, dword [rsp + 0xf8]
xor r8d, r8d
mov rcx, r15
lea edx, [r8 + 0xa]
add r9d, edi
mov dword [rsp + 0x20], ebp
call fcn.14014d8e0
mov dword [rsp + 0x70], ebp
mov dword [rsp + 0x58], 1
lea ebx, [rdi + 1]
mov r9, qword [rsp + 0x48]
mov edx, dword [rsp + 0xf8]
mov r8d, ebx
mov rcx, rsi
call fcn.140151f30
movsxd rdx, dword [rsp + 0x64]
movsxd rax, dword [rsp + 0x70]
movsxd rcx, dword [rsp + 0x58]
mov r9d, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x38]
lea rcx, [rax + rcx*2]
mov dword [rsp + 0x28], ebx
mov ebx, dword [rsp + 0xf8]
lea rax, [rdx + rcx*2]
lea rcx, [0x140000000]
mov dword [rsp + 0x20], ebx
movzx edx, byte [rax + rcx + 0x3346b8]
mov rcx, r15
call fcn.14014ffb0
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x40], edi
test rax, rax
je 0x14018e68d
mov rax, qword [rax]
add ebx, edi
mov r8d, 1
mov rax, qword [rax + 0x18]
mov edx, ebx
mov rcx, rsi
mov qword [rsp + 0x40], rax
call fcn.140139fd0
mov rdx, qword [rsp + 0x40]
mov r8d, ebx
call fcn.140153910
mov r9d, dword [rsp + 0x68]
mov rdx, qword [rsp + 0x40]
mov r8d, ebx
mov rcx, r15
call fcn.140153b40
mov rbx, qword [rsp + 0x80]
test rbx, rbx
je 0x14018e66f
movzx edx, byte [rdi + rbx]
mov rcx, qword [rsp + 0x40]
call fcn.14013a260
cmp al, 0x62
jne 0x14018e659
mov byte [rdi + rbx], al
movzx edx, byte [rdi + rbx]
mov rcx, qword [rsp + 0x40]
call fcn.140133020
test eax, eax
je 0x14018e66f
mov byte [rdi + rbx], 0x62
mov edx, dword [rsp + 0xf8]
lea eax, [rdi + 1]
mov r9, rbx
mov r8d, eax
mov rcx, rsi
mov dword [rsp + 0x40], eax
call fcn.140151f30
jmp 0x14018e695
mov rbx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsi]
call fcn.140140fa0
mov rcx, qword [rsi]
mov rdx, rbx
call fcn.140140fa0
mov r12, qword [rsp + 0x50]
mov eax, dword [r15 + 0x34]
mov dword [r14 + 0x3c], eax
test r12, r12
jne 0x14018e6c7
test edi, edi
jne 0x14018e6c7
mov eax, ebp
jmp 0x14018e6cc
mov eax, 1
movsxd rcx, dword [rsp + 0x64]
cdqe
inc rcx
imul rcx, rax
lea rax, [0x140000000]
movzx edx, byte [rcx + rax + 0x3344ec]
cmp edx, 0x89
je 0x14018e737
mov eax, dword [rsp + 0x40]
mov r9d, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x38]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0xf8]
mov rcx, r15
mov dword [rsp + 0x20], eax
call fcn.14014ffb0
mov r11, qword [r15 + 8]
test r11, r11
je 0x14018e737
mov eax, dword [rsp + 0x5c]
cmp eax, dword [rsp + 0x64]
movsxd rax, dword [r15 + 0x34]
lea rcx, [rax + rax*2]
setne dl
mov byte [r11 + rcx*8 - 0x15], dl
movzx eax, byte [rsi + 0x25]
test al, al
jne 0x14018e747
inc dword [rsi + 0x58]
mov ebx, dword [rsi + 0x58]
jmp 0x14018e753
dec al
movzx eax, al
mov byte [rsi + 0x25], al
mov ebx, dword [rsi + rax*4 + 0x28]
test dword [r14], 0x300000
je 0x14018e795
mov r9d, edi
mov edi, dword [rsp + 0x38]
mov edx, 0x1c
mov rcx, r15
mov r8d, edi
mov dword [rsp + 0x20], ebx
call fcn.14014d8e0
mov r9d, dword [rsp + 0x88]
mov r8d, ebx
mov edx, 0x49
mov rcx, r15
mov dword [rsp + 0x20], ebp
call fcn.14014d8e0
jmp 0x14018e799
mov edi, dword [rsp + 0x38]
mov edx, ebx
mov rcx, rsi
call fcn.140132c80
mov rdx, r13
mov rcx, r14
call fcn.140131da0
mov rdx, r12
mov rcx, r14
call fcn.140131da0
cmp dword [rsp + 0x34], ebp
jne 0x14018e824
movzx eax, byte [rsi + 0x25]
test al, al
jne 0x14018e7d0
inc dword [rsi + 0x58]
mov r13d, dword [rsi + 0x58]
jmp 0x14018e7dd
dec al
movzx eax, al
mov byte [rsi + 0x25], al
mov r13d, dword [rsi + rax*4 + 0x28]
mov r9d, r13d
mov r8d, edi
mov edx, 0x48
mov rcx, r15
mov dword [rsp + 0x20], ebp
call fcn.14014d8e0
mov r12d, dword [rsp + 0x30]
mov r9d, r13d
or r8d, 0xffffffff
mov rcx, rsi
mov edx, r12d
call fcn.140132e90
mov r9d, r13d
mov r8d, r12d
mov edx, 0x30
mov rcx, r15
mov dword [rsp + 0x20], ebp
call fcn.14014d8e0
jmp 0x14018e82c
mov r12d, dword [rsp + 0x30]
mov r13d, ebp
test dword [r14], 0x4000000
je 0x14018e843
mov byte [r14 + 0x35], 0x89
mov dword [r14 + 0x38], edi
jmp 0x14018ebed
cmp dword [rsp + 0x64], ebp
mov dword [r14 + 0x38], edi
sete al
add al, 0x42
mov byte [r14 + 0x35], al
jmp 0x14018ebed
bt ecx, 0x1c
jae 0x14018eb9f
inc dword [rsi + 0x58]
mov r13d, dword [rsi + 0x58]
mov rcx, r15
mov dword [rsp + 0x5c], ebp
mov dword [rsp + 0x34], ebp
mov dword [rsp + 0x70], r13d
call fcn.14014d800
mov dword [rsp + 0x58], ebp
mov dword [rsp + 0x40], eax
mov rax, qword [r14 + 0x10]
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0xf0]
mov byte [r14 + 0x35], 3
mov dword [r14 + 0x38], r13d
mov edi, dword [rax + 0x24]
mov qword [rsp + 0x50], rcx
cmp edi, 1
jle 0x14018eb91
mov rcx, qword [rsi]
sub edi, ebx
dec edi
mov edx, edi
imul edx, edx, 0x58
add edx, 0x60
call fcn.140145220
mov rbx, rax
mov qword [rsp + 0x48], rax
test rax, rax
jne 0x14018e8e4
mov rax, qword [rsp + 0x108]
jmp 0x14018edb9
mov rdx, qword [rsp + 0x80]
lea eax, [rdi + 1]
lea rcx, [rbx + 8]
mov r8d, 0x58
mov word [rbx + 2], ax
mov word [rbx], ax
call fcn.1400be580
mov r13, qword [rsp + 0xf0]
mov r13, qword [r13 + 0x10]
add r13, 8
cmp edi, 1
jl 0x14018e962
mov r12, r14
add rbx, 0x60
sub r12, qword [rsp + 0x48]
nop word [rax + rax]
movzx edx, byte [r12 + rbx + 0x2c]
mov rcx, rbx
mov r8d, 0x58
imul rdx, rdx, 0x58
add rdx, r13
call fcn.1400be580
add rbx, 0x58
dec rdi
jne 0x14018e930
mov rbx, qword [rsp + 0x48]
movzx r12d, word [rsp + 0x100]
mov r13d, dword [rsp + 0x70]
and r12w, 8
mov word [rsp + 0x100], r12w
jne 0x14018e9a0
mov eax, dword [rsi + 0x58]
xor r8d, r8d
mov dword [rsp + 0x20], ebp
inc eax
lea edx, [r8 + 0xa]
lea ecx, [rax + 1]
mov r9d, eax
mov dword [rsp + 0x5c], eax
mov dword [rsp + 0x34], ecx
mov dword [rsi + 0x58], ecx
mov rcx, r15
call fcn.14014d8e0
xor r8d, r8d
mov r9d, r13d
mov rcx, r15
lea edx, [r8 + 7]
mov dword [rsp + 0x20], ebp
call fcn.14014d8e0
mov r8, qword [rsp + 0x50]
mov r13d, ebp
mov dword [rsp + 0x38], eax
cmp dword [r8 + 0x1c], ebp
jle 0x14018eb0c
mov eax, dword [rsp + 0x30]
mov rdi, rbp
mov ecx, 0x200
mov edx, 0xf0
nop dword [rax]
mov r8, qword [r8 + 0x28]
cmp dword [rdi + r8 + 0xc], eax
je 0x14018e9f7
cmp word [rdi + r8 + 0x18], cx
jne 0x14018eaf2
mov r8, qword [rdi + r8]
mov word [rsp + 0x20], dx
xor r9d, r9d
mov rdx, rbx
mov rcx, rsi
call fcn.14018ef10
mov r12, rax
test rax, rax
je 0x14018eae4
movzx ecx, byte [r14 + 0x34]
mov r9d, dword [rsp + 0xf8]
lea r8, [rax + 0x40]
mov word [rsp + 0x28], bp
mov dword [rsp + 0x20], ecx
mov rdx, rbx
mov rcx, rsi
call fcn.1401544f0
cmp word [rsp + 0x100], bp
jne 0x14018eaac
mov rcx, qword [rsp + 0x50]
mov r9d, dword [rsp + 0x30]
mov ebx, r13d
mov eax, dword [rcx + 0x1c]
mov ecx, dword [rsp + 0x34]
dec eax
mov dword [rsp + 0x20], ecx
mov rcx, rsi
cmp r13d, eax
mov eax, 0xffffffff
cmove ebx, eax
mov r8d, eax
mov rax, qword [rsp + 0x80]
mov rdx, qword [rax + 0x18]
call fcn.14016c380
mov r9d, dword [r15 + 0x34]
mov r8d, dword [rsp + 0x5c]
add r9d, 2
mov edx, 0x6b
mov rcx, r15
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], eax
call fcn.14014ffb0
mov rbx, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x40]
mov r8d, dword [rsp + 0x70]
mov edx, 2
mov rcx, r15
mov dword [rsp + 0x20], ebp
call fcn.14014d8e0
mov eax, dword [rsp + 0x58]
cmp byte [r12 + 0xb], bpl
mov ecx, 1
cmovne eax, ecx
mov rcx, r12
mov dword [rsp + 0x58], eax
call fcn.1401519e0
mov eax, dword [rsp + 0x30]
mov edx, 0xf0
mov ecx, 0x200
mov r8, qword [rsp + 0x50]
inc r13d
add rdi, 0x38
cmp r13d, dword [r8 + 0x1c]
jl 0x14018e9e0
mov eax, dword [rsp + 0x38]
mov edx, dword [r15 + 0x34]
cmp edx, eax
jle 0x14018eb22
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 8]
mov dword [rax + rcx*8 + 4], edx
mov r9d, dword [r14 + 0x24]
mov edi, 1
xor r8d, r8d
mov rcx, r15
mov edx, edi
mov dword [rsp + 0x20], ebp
call fcn.14014d8e0
mov r11, qword [r15 + 0x48]
test r11, r11
je 0x14018eb5c
movsxd rax, dword [rsp + 0x40]
lea rax, [rax*4 + 4]
sub r11, rax
mov eax, dword [r15 + 0x34]
mov dword [r11], eax
mov rax, qword [rsp + 0xf0]
cmp dword [rax + 0x24], edi
jle 0x14018eb74
mov rcx, qword [rsi]
mov rdx, rbx
call fcn.140140fa0
cmp dword [rsp + 0x58], ebp
jne 0x14018eb87
mov rdx, qword [rsp + 0x68]
mov rcx, r14
call fcn.140131da0
mov r12d, dword [rsp + 0x30]
mov r13d, ebp
jmp 0x14018ebf2
mov rbx, qword [rax + 0x10]
mov qword [rsp + 0x48], rbx
jmp 0x14018e967
mov r12d, dword [rsp + 0x30]
mov r9d, dword [rsp + 0x68]
lea rdx, [0x140000000]
movsxd rcx, edi
mov r8d, r12d
mov dword [rsp + 0x20], ebp
movzx eax, byte [rcx + rdx + 0x3346a4]
mov dword [r14 + 0x38], r12d
mov byte [r14 + 0x35], al
movzx edx, byte [rcx + rdx + 0x3346c0]
mov rcx, r15
call fcn.14014d8e0
mov byte [r14 + 0x36], 1
inc eax
mov dword [r14 + 0x3c], eax
jmp 0x14018ebea
mov r12d, eax
mov r13d, ebp
mov edi, 1
mov r8, qword [rsp + 0x78]
mov ecx, ebp
mov rax, qword [r8 + 8]
mov edx, dword [rax]
test edx, edx
jle 0x14018ec16
add rax, 4
cmp dword [rax], r12d
je 0x14018ec55
inc ecx
add rax, 4
cmp ecx, edx
jl 0x14018ec07
mov rax, rbp
mov r12, qword [rsp + 0x108]
mov edi, dword [r8 + 0x1c]
mov rbx, qword [r8 + 0x28]
not rax
and r12, rax
test edi, edi
jle 0x14018ec96
mov r15, qword [rsp + 0xf0]
mov ebp, dword [rsp + 0x88]
test byte [rbx + 0x1a], 6
jne 0x14018ec82
test qword [rbx + 0x30], r12
je 0x14018ec5d
mov byte [r15 + 0xb], 1
jmp 0x14018ec82
mov rax, rdi
shl rax, cl
jmp 0x14018ec19
cmp dword [r14 + 0x18], 0
mov rdx, qword [rbx]
je 0x14018ec6d
test byte [rdx + 2], 1
je 0x14018ec82
mov r9d, 8
mov r8d, ebp
mov rcx, rsi
call fcn.14018a9b0
or byte [rbx + 0x1a], 4
dec edi
add rbx, 0x38
test edi, edi
jg 0x14018ec42
mov r15, qword [rsp + 0x90]
xor ebp, ebp
mov ebx, dword [r14 + 0x18]
test ebx, ebx
je 0x14018ed82
mov eax, dword [r15 + 0x34]
mov dword [r14 + 0x30], eax
movsxd rdi, dword [r15 + 0x34]
cmp dword [r15 + 0x38], edi
jg 0x14018ecc0
mov rcx, r15
call fcn.14014b500
test eax, eax
jne 0x14018ecec
mov rax, qword [r15 + 8]
inc dword [r15 + 0x34]
lea rcx, [rdi + rdi*2]
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov word [rax + rcx*8], 7
lea rcx, [rsi + 0x80]
mov eax, 0xa
mov edx, dword [rcx]
test edx, edx
je 0x14018ed24
cmp byte [rcx - 8], 0
je 0x14018ed1a
movzx eax, byte [rsi + 0x25]
cmp al, 8
jae 0x14018ed16
movzx eax, al
mov dword [rsi + rax*4 + 0x28], edx
inc byte [rsi + 0x25]
mov byte [rcx - 8], 0
mov rax, qword [rsp + 0x98]
mov dword [rcx], ebp
add rcx, 0x18
dec rax
mov qword [rsp + 0x98], rax
jne 0x14018ecf8
mov r14, qword [rsp + 0x78]
mov edi, ebp
cmp dword [r14 + 0x1c], 0
mov rbx, qword [r14 + 0x28]
jle 0x14018ed82
mov ebp, dword [rsp + 0x88]
nop
test byte [rbx + 0x1a], 6
jne 0x14018ed74
test qword [rbx + 0x30], r12
jne 0x14018ed74
mov rdx, qword [rbx]
mov r9d, 8
mov r8d, ebp
mov rcx, rsi
call fcn.14018a9b0
or byte [rbx + 0x1a], 4
inc edi
add rbx, 0x38
cmp edi, dword [r14 + 0x1c]
jl 0x14018ed50
xor ebp, ebp
test r13d, r13d
je 0x14018edb6
movzx ecx, byte [rsi + 0x25]
cmp cl, 8
jae 0x14018edb6
lea rax, [rsi + 0x70]
cmp dword [rax + 0x10], r13d
je 0x14018edb2
inc ebp
add rax, 0x18
cmp ebp, 0xa
jl 0x14018ed94
movzx eax, cl
mov dword [rsi + rax*4 + 0x28], r13d
inc byte [rsi + 0x25]
jmp 0x14018edb6
mov byte [rax + 8], 1
mov rax, r12
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret