Function at 0x140297030
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
movaps xmmword [rsp + 0xa0], xmm6
mov rdi, rcx
mov rsi, qword [rcx]
mov rax, qword [rsi]
mov qword [rsp + 0x98], rax
mov r14, qword [rsi + 0x10]
movzx r12d, byte [rcx + 0x40]
test r12, r12
je 0x14029777f
mov r13, qword [rdi + 8]
mov eax, dword [r14 + 0x90]
mov dword [rsp + 0x94], eax
lea r15, [rdi + 0x360]
add r13, 8
mov dword [rsp + 0x74], 0
xorps xmm6, xmm6
lea r11, [r12 - 1]
imul rax, r11, 0x68
lea rbx, [r15 + rax]
mov rbp, qword [r15 + rax + 0x30]
test rbp, rbp
jne 0x140297c65
mov r9, qword [rbx + 0x58]
cmp byte [rbx + 0x39], 0xbb
mov qword [rsp + 0x48], r9
je 0x1402972f8
xor ebp, ebp
cmp byte [rdi + 0x43], 2
mov qword [rsp + 0x60], rbx
je 0x140297634
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14029712e
mov rcx, qword [r14 + 0x18]
not r8d
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
jns 0x14029734e
mov rdx, r14
mov rbx, r15
mov r15, r14
mov r14, rdi
mov rdi, r12
mov r12d, ebp
mov rbp, r13
mov r13, rsi
mov rsi, r11
call fcn.1401c9b20
mov r11, rsi
mov rsi, r13
mov r13, rbp
mov ebp, r12d
mov r12, rdi
mov rdi, r14
mov r14, r15
mov r15, rbx
mov rbx, qword [rsp + 0x60]
movzx eax, byte [rbx + 0x3a]
mov r9d, dword [rbx + 0x40]
mov r8d, dword [rbx + 0x3c]
mov cl, byte [rbx + 0x39]
movsxd rdx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], edx
jle 0x1402974b4
lea r10d, [rdx + 1]
mov dword [r14 + 0x90], r10d
mov r10, qword [r14 + 0x88]
lea rdx, [rdx + rdx*2]
mov byte [r10 + rdx*8], cl
mov word [r10 + rdx*8 + 2], 0
mov dword [r10 + rdx*8 + 4], r8d
mov dword [r10 + rdx*8 + 8], r9d
mov dword [r10 + rdx*8 + 0xc], eax
mov qword [r10 + rdx*8 + 0x10], 0
mov byte [r10 + rdx*8 + 1], 0
movsxd rax, dword [r14 + 0x90]
test rax, rax
mov r9, qword [rsp + 0x48]
jle 0x1402971b6
movzx ecx, byte [rbx + 0x3b]
mov rdx, qword [r14 + 0x88]
lea rax, [rax + rax*2]
mov word [rdx + rax*8 - 0x16], cx
cmp dword [rbx + 0x24], 0
jne 0x140297d2c
test ebp, ebp
jne 0x140297b90
test byte [r9 + 0x39], 8
jne 0x140297871
mov r8d, dword [rbx + 0xc]
mov rcx, qword [r14 + 0x18]
not r8d
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x140297c3c
mov eax, dword [r14 + 0x90]
mov rcx, qword [rcx + 0x50]
movsxd rdx, r8d
mov dword [rcx + rdx*4], eax
mov rax, qword [rbx + 0x30]
test rax, rax
jne 0x140297cef
mov r9d, dword [rbx + 0x14]
test r9d, r9d
jne 0x140297bb9
mov r8d, dword [rbx]
test r8d, r8d
jne 0x1402974fd
cmp r12, 1
mov r12, r11
jg 0x140297096
cmp byte [rdi + 0x40], 0
je 0x140297292
xor r12d, r12d
lea rbx, [0x140536a60]
cmp qword [r15 + 0x30], 0
jne 0x140297b69
movzx eax, byte [r15 + 0x38]
imul rax, rax, 0x68
lea rdx, [rax + r13]
test byte [rdx + 0x40], 0x20
jne 0x140297797
mov rax, qword [r13 + rax + 0x20]
mov rcx, qword [r15 + 0x58]
mov edx, dword [rcx + 0x38]
test edx, 0x240
jne 0x140297364
bt edx, 0xd
jb 0x140297b53
inc r12d
add r15, 0x68
movzx eax, byte [rdi + 0x40]
cmp r12d, eax
jb 0x14029723e
mov ebx, dword [rsp + 0x74]
mov r8d, dword [rdi + 0x34]
mov rcx, qword [r14 + 0x18]
not r8d
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x140297b5c
mov eax, dword [r14 + 0x90]
mov rcx, qword [rcx + 0x50]
movsxd rdx, r8d
mov dword [rcx + rdx*4], eax
movzx eax, word [rdi + 0x38]
mov word [rsi + 0xd0], ax
mov rcx, qword [rsp + 0x98]
mov rdx, rdi
call fcn.1401cf740
sub byte [rsi + 0x26], bl
movaps xmm6, xmmword [rsp + 0xa0]
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x1402971c8
mov rcx, qword [r14 + 0x18]
not r8d
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x14029732a
mov eax, dword [r14 + 0x90]
mov rcx, qword [rcx + 0x50]
movsxd rdx, r8d
mov dword [rcx + rdx*4], eax
jmp 0x1402971c8
mov rdx, r14
mov rbp, r13
mov r13, rsi
mov rsi, r11
call fcn.1401c9b20
mov r9, qword [rsp + 0x48]
mov r11, rsi
mov rsi, r13
mov r13, rbp
jmp 0x1402971c8
mov eax, dword [r14 + 0x90]
mov rcx, qword [rcx + 0x50]
movsxd rdx, r8d
mov dword [rcx + rdx*4], eax
jmp 0x14029712e
add rcx, 0x20
mov rcx, qword [rcx]
test rcx, rcx
je 0x140297282
mov rdx, qword [rsp + 0x98]
cmp byte [rdx + 0x67], 0
jne 0x140297282
cmp byte [rdi + 0x42], 0
mov r8d, dword [rsp + 0x94]
jne 0x140297466
test byte [rcx + 0x65], 0x10
jne 0x140297ae3
movsxd r9, dword [r15 + 0x20]
inc r9
mov rdx, qword [r14]
cmp byte [rdx + 0x67], 0
mov rdx, rbx
jne 0x1402973c4
lea rdx, [r9 + r9*2]
shl rdx, 3
add rdx, qword [r14 + 0x88]
sub r8d, r9d
movsxd r8, r8d
lea r8, [r8 + r8*2]
lea r8, [rdx + r8*8]
jmp 0x1402973fd
mov r9d, dword [r15 + 8]
mov dword [rdx + 4], r9d
mov byte [rdx], 0x8e
jmp 0x1402973f0
cmp r9d, 0x87
je 0x1402973d4
cmp r9d, 0x14
je 0x14029745c
add rdx, 0x18
cmp rdx, r8
jae 0x140297282
mov r9d, dword [rdx + 4]
cmp r9d, dword [r15 + 4]
jne 0x1402973f0
movzx r9d, byte [rdx]
cmp r9d, 0x69
jne 0x1402973e1
movsxd r9, dword [rdx + 8]
mov r10d, dword [rax + 0x30]
test r10b, r10b
js 0x140297485
test r10b, 0x20
jne 0x140297b18
movzx r11d, word [rcx + 0x60]
test r11, r11
je 0x1402973f0
mov rbp, qword [rcx + 8]
xor r10d, r10d
cmp word [rbp + r10*2], r9w
je 0x14029744b
inc r10
cmp r11, r10
jne 0x140297439
jmp 0x1402973f0
test r10w, r10w
js 0x1402973f0
and r10d, 0x7fff
mov dword [rdx + 8], r10d
mov r9d, dword [r15 + 8]
mov dword [rdx + 4], r9d
jmp 0x1402973f0
mov rdx, qword [rcx + 0x18]
test byte [rdx + 0x30], 0x80
mov r8d, dword [rsp + 0x94]
jne 0x140297398
mov r8d, dword [rdi + 0x50]
jmp 0x140297398
mov r10, qword [rax + 0x10]
test r10, r10
je 0x140297da3
mov r11d, dword [r10 + 0x64]
and r11d, 3
cmp r11d, 2
jne 0x1402974ae
mov r10, qword [r10 + 8]
movzx r9d, word [r10 + r9*2]
jmp 0x140297428
mov r10, qword [r10 + 0x28]
jmp 0x140297489
movzx edx, cl
mov dword [rsp + 0x20], eax
mov rcx, r14
mov rbx, r15
mov r15, r14
mov r14, rdi
mov rdi, r12
mov r12d, ebp
mov rbp, r13
mov r13, rsi
mov rsi, r11
call fcn.1401b7bc0
mov r11, rsi
mov rsi, r13
mov r13, rbp
mov ebp, r12d
mov r12, rdi
mov rdi, r14
mov r14, r15
mov r15, rbx
mov rbx, qword [rsp + 0x60]
jmp 0x140297191
mov rax, qword [rsp + 0x48]
mov ebp, dword [rax + 0x38]
mov edx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], edx
jle 0x14029770f
movsxd rax, edx
lea ecx, [rax + 1]
mov dword [r14 + 0x90], ecx
mov rcx, qword [r14 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x3b
mov dword [rcx + rax*8 + 4], r8d
movups xmmword [rcx + rax*8 + 8], xmm6
test bpl, 0x40
jne 0x14029759a
movzx eax, byte [rbx + 0x38]
imul rax, rax, 0x68
test byte [r13 + rax + 0x40], 0x20
jne 0x140297e5d
mov r8d, dword [rbx + 4]
movsxd rax, dword [r14 + 0x90]
cmp dword [r14 + 0x94], eax
jle 0x140297744
lea ecx, [rax + 1]
mov dword [r14 + 0x90], ecx
mov rcx, qword [r14 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x88
mov dword [rcx + rax*8 + 4], r8d
movups xmmword [rcx + rax*8 + 8], xmm6
bt ebp, 9
jb 0x14029768c
bt ebp, 0xd
jb 0x140297db2
cmp byte [rbx + 0x39], 0x43
mov r9d, dword [rbx + 0x1c]
je 0x140297e37
movsxd rax, dword [r14 + 0x90]
cmp dword [r14 + 0x94], eax
jle 0x14029765f
lea ecx, [rax + 1]
mov dword [r14 + 0x90], ecx
mov rcx, qword [r14 + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 9
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
mov eax, dword [r14 + 0x90]
mov rcx, qword [r14]
cmp byte [rcx + 0x67], 0
lea rcx, [0x140536a60]
jne 0x14029762c
movsxd rcx, edx
lea rcx, [rcx + rcx*2]
shl rcx, 3
add rcx, qword [r14 + 0x88]
mov dword [rcx + 8], eax
jmp 0x140297221
movzx eax, byte [rdi + 0x40]
cmp r12, rax
jne 0x1402970d5
test byte [r9 + 0x39], 2
je 0x1402970d5
mov rax, qword [r9 + 0x20]
test byte [rax + 0x64], 0x80
je 0x1402970d5
jmp 0x140297eda
mov dword [rsp + 0x20], 0
mov rcx, r14
mov ebp, edx
mov edx, 9
xor r8d, r8d
mov rbx, rsi
mov rsi, r11
call fcn.1401b7bc0
mov edx, ebp
mov r11, rsi
mov rsi, rbx
jmp 0x140297603
bt ebp, 0xd
jb 0x140297dbd
mov r8d, dword [rbx + 8]
movsxd rax, dword [r14 + 0x90]
cmp dword [r14 + 0x94], eax
jle 0x1402976d8
lea ecx, [rax + 1]
mov dword [r14 + 0x90], ecx
mov rcx, qword [r14 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x88
mov dword [rcx + rax*8 + 4], r8d
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 8], xmm0
jmp 0x1402975ae
mov dword [rsp + 0x20], 0
mov rcx, r14
mov dword [rsp + 0x48], edx
mov edx, 0x88
xor r9d, r9d
mov rbp, r13
mov r13, rsi
mov rsi, r11
call fcn.1401b7bc0
mov edx, dword [rsp + 0x48]
mov r11, rsi
mov rsi, r13
mov r13, rbp
jmp 0x1402975ae
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0x3b
xor r9d, r9d
mov qword [rsp + 0x40], r13
mov r13, rsi
mov rsi, r11
call fcn.1401b7bc0
mov r11, rsi
mov rsi, r13
mov r13, qword [rsp + 0x40]
mov edx, eax
jmp 0x140297542
mov dword [rsp + 0x20], 0
mov rcx, r14
mov dword [rsp + 0x48], edx
mov edx, 0x88
xor r9d, r9d
mov qword [rsp + 0x40], r13
mov r13, rsi
mov rsi, r11
call fcn.1401b7bc0
mov edx, dword [rsp + 0x48]
mov r11, rsi
mov rsi, r13
mov r13, qword [rsp + 0x40]
jmp 0x14029759a
xor ebx, ebx
jmp 0x140297296
lea rax, [r9 + r9*2]
shl rax, 3
add rax, qword [rcx + 0x88]
jmp 0x1402977c2
mov rbp, r14
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x40], r13
mov r11, r15
movsxd r9, dword [r15 + 0x20]
mov r10, rsi
mov rcx, qword [rsi + 0x10]
mov rax, qword [rcx]
cmp byte [rax + 0x67], 0
je 0x140297786
lea rax, [0x140536a60]
mov rsi, r10
mov r8, qword [r10]
cmp byte [r8 + 0x67], 0
mov r13, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x50]
mov r14, rbp
mov r15, r11
jne 0x140297282
mov ecx, dword [rcx + 0x90]
cmp r9d, ecx
jge 0x140297282
mov edx, dword [rdx + 0x38]
mov r8d, dword [r15 + 4]
sub ecx, r9d
jmp 0x140297827
mov byte [rax], 0x7e
mov dword [rax + 4], 0
add rax, 0x18
dec ecx
mov rsi, r10
mov r13, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x50]
mov r14, rbp
mov r15, r11
je 0x140297282
cmp dword [rax + 4], r8d
jne 0x140297808
movzx r9d, byte [rax]
cmp r9d, 0x87
je 0x1402977fe
cmp r9d, 0x69
jne 0x140297808
mov byte [rax], 0x50
mov r9d, dword [rax + 8]
add r9d, edx
mov dword [rax + 4], r9d
mov r9d, dword [rax + 0xc]
mov dword [rax + 8], r9d
mov dword [rax + 0xc], 0
mov word [rax + 2], 2
jmp 0x140297808
mov rdx, qword [rsp + 0x38]
call fcn.1401c9b20
jmp 0x1402978ce
cmp dword [rbx + 0x48], 0
jle 0x1402971d3
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x78], r12
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x68], r11
mov qword [rsp + 0x60], rbx
mov r8d, dword [rbx + 0x10]
mov qword [rsp + 0x38], r14
mov rcx, qword [r14 + 0x18]
not r8d
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x140297865
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x90]
mov rcx, qword [rcx + 0x50]
movsxd rdx, r8d
mov dword [rcx + rdx*4], eax
mov rbx, qword [rsp + 0x60]
movsxd rax, dword [rbx + 0x48]
test rax, rax
mov r11, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x80]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x50]
mov r14, qword [rsp + 0x38]
mov r15, qword [rsp + 0x58]
jle 0x1402971d3
mov rcx, qword [rbx + 0x50]
lea edx, [rax + 1]
mov dword [rsp + 0x88], edx
lea rax, [rax + rax*4]
lea rbp, [rcx + rax*4]
add rbp, 0xfffffffffffffffc
jmp 0x1402979ef
movsxd rax, dword [rbp - 0xc]
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx + 0x88]
lea rax, [rax + rax*2]
lea rax, [rcx + rax*8]
add rax, 0x18
mov rcx, qword [rsp + 0x38]
mov ecx, dword [rcx + 0x90]
mov dword [rax + 8], ecx
mov r8d, dword [rbp - 0x10]
mov r9d, dword [rbp - 0xc]
movzx edx, byte [rbp]
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x38]
call fcn.140415430
mov rcx, qword [rsp + 0x38]
mov eax, dword [rcx + 0x90]
mov rcx, qword [rcx]
cmp byte [rcx + 0x67], 0
lea rcx, [0x140536a60]
jne 0x1402979a4
movsxd rcx, dword [rbp - 0xc]
mov rdx, qword [rsp + 0x38]
mov rdx, qword [rdx + 0x88]
lea rcx, [rcx + rcx*2]
lea rcx, [rdx + rcx*8]
add rcx, 0xffffffffffffffe8
mov dword [rcx + 8], eax
mov eax, dword [rsp + 0x88]
dec eax
add rbp, 0xffffffffffffffec
mov dword [rsp + 0x88], eax
cmp eax, 1
mov r11, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x80]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x50]
mov r14, qword [rsp + 0x38]
mov r15, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
jle 0x1402971d3
mov rax, qword [r14]
cmp byte [rax + 0x67], 0
lea rax, [0x140536a60]
jne 0x140297a1b
movsxd rax, dword [rbp - 0xc]
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx + 0x88]
lea rax, [rax + rax*2]
lea rax, [rcx + rax*8]
add rax, 0x18
mov rcx, qword [rsp + 0x38]
mov ecx, dword [rcx + 0x90]
mov dword [rax + 8], ecx
cmp byte [rbp], 0xbb
je 0x14029796d
cmp dword [rbp - 4], 0
je 0x14029794f
mov rax, qword [rsp + 0x48]
mov esi, dword [rax + 0x38]
mov eax, 0x40400
and esi, eax
mov rax, qword [rsp + 0x60]
cmp dword [rax], 0
je 0x140297a8a
xor eax, eax
cmp esi, 0x40000
sete al
mov rcx, qword [rsp + 0x38]
mov edx, dword [rcx + 0x90]
lea r9d, [rdx + rax]
add r9d, 2
mov r8d, dword [rbp - 0x10]
mov dword [rsp + 0x20], 0
mov edx, 0x19
call fcn.140415430
cmp esi, 0x40000
jne 0x14029794f
mov eax, dword [rbp - 8]
mov ecx, dword [rbp - 4]
mov rsi, qword [rsp + 0x38]
mov r9d, dword [rsi + 0x90]
add r9d, 2
mov rdx, qword [rsp + 0x60]
mov r8d, dword [rdx + 8]
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
mov rcx, rsi
mov edx, 0x1a
call fcn.140407920
mov rax, qword [rsi]
cmp byte [rax + 0x67], 0
lea rax, [0x140536a60]
jne 0x140297941
jmp 0x140297925
mov rdx, qword [rsi + 0x60]
test rdx, rdx
jne 0x140297b09
jmp 0x1402973a2
mov qword [rdx + 8], 0xffffffffffffffff
mov rdx, qword [rdx + 0x18]
test rdx, rdx
mov r15, r10
je 0x1402973a2
mov r9d, dword [rdx + 0xc]
mov r10, r15
cmp r9d, dword [r15 + 8]
jne 0x140297af9
jmp 0x140297af1
test r9w, r9w
js 0x140297428
mov r10, qword [rax + 8]
add r10, 0x12
mov r11, 0xffffffffffffffff
movzx ebp, word [r10]
bt ebp, 5
adc r9w, 0
movsx rbp, r9w
inc r11
add r10, 0x18
cmp r11, rbp
jl 0x140297b31
jmp 0x140297428
lea rcx, [r15 + 0x48]
jmp 0x140297368
mov rdx, r14
call fcn.1401c9b20
jmp 0x1402972be
mov rcx, rdi
mov edx, r12d
mov r8, r15
call fcn.140424d30
jmp 0x140297282
movsxd rax, ebp
lea rax, [rax + rax*2]
shl rax, 3
add rax, qword [rcx + 0x88]
jmp 0x140297ba3
mov rcx, r14
mov rax, qword [r14]
cmp byte [rax + 0x67], 0
je 0x140297b7c
lea rax, [0x140536a60]
mov r14, rcx
mov ecx, dword [rcx + 0x90]
mov dword [rax + 8], ecx
mov r9, qword [rsp + 0x48]
jmp 0x1402971c8
mov rbp, r11
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 9
xor r8d, r8d
call fcn.140415430
mov r8, r14
mov rcx, qword [r14]
lea rax, [0x140536a60]
cmp byte [rcx + 0x67], 0
mov rcx, rax
jne 0x140297bfd
movsxd rcx, dword [rbx + 0x14]
lea rcx, [rcx + rcx*2]
shl rcx, 3
add rcx, qword [r8 + 0x88]
mov edx, dword [r8 + 0x90]
mov dword [rcx + 8], edx
mov ecx, dword [r8 + 0x90]
mov rdx, qword [r8]
cmp byte [rdx + 0x67], 0
jne 0x140297c2e
movsxd rax, dword [rbx + 0x14]
mov rdx, qword [r8 + 0x88]
lea rax, [rax + rax*2]
lea rax, [rdx + rax*8]
add rax, 0xffffffffffffffd0
mov dword [rax + 8], ecx
mov r11, rbp
mov r14, r8
jmp 0x140297215
mov rdx, r14
mov rbp, r13
mov r13, rsi
mov rsi, r11
call fcn.1401c9b20
mov r11, rsi
mov rsi, r13
mov r13, rbp
jmp 0x1402971fb
mov rdx, rdi
call fcn.1401c9b20
jmp 0x140297c9d
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x68], r11
mov r15, rbx
mov r8d, dword [rbx + 0x18]
mov rdi, r14
mov rcx, qword [r14 + 0x18]
not r8d
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x140297c5b
mov eax, dword [rdi + 0x90]
mov rcx, qword [rcx + 0x50]
movsxd rdx, r8d
mov dword [rcx + rdx*4], eax
mov rbx, r15
mov dword [r15 + 0x18], 0
mov r14, rdi
mov eax, dword [rdi + 0x90]
mov dword [rbp + 0x10], eax
mov r8d, dword [rbp + 8]
mov r9d, dword [rbp + 0xc]
mov dword [rsp + 0x20], 1
mov rcx, rdi
mov edx, 0x43
call fcn.140415430
mov eax, dword [rsp + 0x74]
inc al
mov dword [rsp + 0x74], eax
mov r11, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
jmp 0x1402970b1
mov r8d, dword [rax + 8]
mov dword [rsp + 0x20], 1
mov rcx, r14
mov edx, 0x43
xor r9d, r9d
mov rbp, r13
mov r13, rsi
mov rsi, r11
call fcn.140415430
mov r11, rsi
mov rsi, r13
mov r13, rbp
jmp 0x140297208
mov rdx, rdi
call fcn.1401c9b20
jmp 0x140297d64
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x68], r11
mov r15, rbx
mov r8d, dword [rbx + 0x28]
mov rdi, r14
mov rcx, qword [r14 + 0x18]
not r8d
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x140297d22
mov eax, dword [rdi + 0x90]
mov rcx, qword [rcx + 0x50]
movsxd rdx, r8d
mov dword [rcx + rdx*4], eax
mov rbx, r15
mov r8d, dword [r15 + 0x24]
mov r9d, dword [r15 + 0x40]
dec r9d
mov dword [rsp + 0x20], 0
mov r14, rdi
mov rcx, rdi
mov edx, 0x3d
call fcn.140415430
mov r11, qword [rsp + 0x68]
mov r9, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
jmp 0x1402971c0
xor r10d, r10d
jmp 0x1402974a0
mov eax, 0xffff8000
jmp 0x140297dff
cmp qword [rbx + 0x48], 0
je 0x1402975ae
mov qword [rsp + 0x58], r15
mov dword [rsp + 0x48], edx
mov r15, r11
mov r10, rbx
mov rax, qword [rbx + 0x48]
mov rbp, rax
mov rcx, qword [rax + 0x30]
test rcx, rcx
je 0x140297dab
mov rax, qword [rsp + 0x98]
mov rdx, qword [rax + 0x20]
add rdx, 0x18
mov eax, 0xffffffff
inc eax
lea r8, [rdx + 0x20]
cmp qword [rdx], rcx
mov rdx, r8
jne 0x140297df1
mov r9d, dword [rbp + 0x58]
mov rbx, r10
mov r8d, dword [r10 + 8]
mov dword [rsp + 0x20], eax
mov rcx, r14
mov edx, 0x71
call fcn.140415430
mov rcx, rsi
mov rdx, rbp
call fcn.14041a5f0
mov r11, r15
mov edx, dword [rsp + 0x48]
mov r15, qword [rsp + 0x58]
jmp 0x140297696
mov r8d, dword [rbx + 0x3c]
mov dword [rsp + 0x20], 0
mov rcx, r14
mov ebp, edx
mov edx, 0xa
mov rbx, rsi
mov rsi, r11
call fcn.140415430
jmp 0x14029767f
add rax, r13
mov r9d, dword [rax + 0x38]
mov rax, qword [rax + 0x20]
movsx eax, word [rax + 0x36]
add eax, r9d
dec eax
mov dword [rsp + 0x20], eax
mov rcx, r14
mov dword [rsp + 0x48], edx
mov edx, 0x4b
xor r8d, r8d
mov qword [rsp + 0x40], r13
mov r13, rsi
mov rsi, r11
call fcn.140415430
mov edx, dword [rsp + 0x48]
mov r11, rsi
mov rsi, r13
mov r13, qword [rsp + 0x40]
jmp 0x14029755c
mov r11, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x80]
mov r13, qword [rsp + 0x40]
xor ebp, ebp
mov r12, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x50]
mov r14, qword [rsp + 0x38]
mov r15, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
jmp 0x1402970d5
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x78], r12
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x68], r11
movzx ecx, word [r9 + 0x1e]
mov qword [rsp + 0x88], rcx
test ecx, ecx
je 0x140297ea8
mov rax, qword [rax + 0x10]
mov ecx, dword [rsp + 0x88]
cmp word [rax + rcx*2], 0x24
mov r11, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x80]
mov r13, qword [rsp + 0x40]
mov ebp, 0
mov r12, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x50]
mov r14, qword [rsp + 0x38]
mov r15, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
jl 0x1402970d5
mov edi, dword [rsi + 0x38]
inc edi
xor ebp, ebp
lea eax, [rdi + rbp]
mov rcx, qword [rsp + 0x60]
mov r8d, dword [rcx + 8]
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x38]
mov edx, 0x69
mov r9d, ebp
call fcn.140415430
inc ebp
cmp dword [rsp + 0x88], ebp
jne 0x140297f5e
mov rsi, qword [rsp + 0x80]
mov eax, dword [rsi + 0x38]
mov rcx, qword [rsp + 0x88]
add eax, ecx
inc eax
mov dword [rsi + 0x38], eax
xor eax, eax
mov rbx, qword [rsp + 0x60]
cmp byte [rbx + 0x39], 0x26
setne al
lea edx, [rax + rax*2]
add edx, 0x15
mov r8d, dword [rbx + 8]
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], edi
mov r14, qword [rsp + 0x38]
mov rcx, r14
xor r9d, r9d
call fcn.140407920
mov ebp, eax
mov r9d, dword [rbx + 0x40]
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 9
mov r8d, 1
call fcn.140415430
mov r11, qword [rsp + 0x68]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
jmp 0x1402970d5