Function at 0x1402993b0
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, 0x168
mov qword [rsp + 0x98], r9
mov rax, qword [0x140516040]
xor rax, rsp
mov qword [rsp + 0x160], rax
mov rax, qword [rcx]
mov r11, qword [rax]
cmp dword [r11 + 0x30], 0
jne 0x140299da0
mov rsi, r8
lea r10, [rsp + 0x118]
mov r15, qword [rcx + 0x10]
mov eax, dword [r15 + 0x38]
mov dword [rsp + 0x78], eax
test al, 0x20
mov r8d, 0x1bf
mov eax, 0x18
cmove eax, r8d
mov r9d, dword [rsi + 0x64]
test r9d, 0x104
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x88], r11
jne 0x140299dec
mov r8, qword [r11]
mov qword [rsp + 0x80], r8
movabs r8, 0xaaaaaaaaaaaaaaaa
mov qword [r10 + 0x40], r8
movaps xmm0, xmmword [0x140484a40]
movups xmmword [r10 + 0x30], xmm0
movups xmmword [r10 + 0x20], xmm0
movups xmmword [r10 + 0x10], xmm0
movups xmmword [r10], xmm0
movzx r13d, word [r15 + 0x18]
movzx r8d, word [r15 + 0x1a]
mov word [rsp + 0x5e], r8w
movzx r8d, word [r15 + 0x1c]
mov word [rsp + 0x5c], r8w
movzx r10d, word [r15 + 0x3e]
movzx ebx, word [r15 + 0x3c]
mov r8, qword [r15]
mov qword [rsp + 0xc8], r8
movzx r8d, word [r15 + 0x16]
mov dword [rsp + 0x74], r8d
mov r8d, dword [rdx + 0x44]
mov rdx, qword [rcx + 8]
mov qword [rsp + 0xf0], rdx
mov qword [rsp + 0xf8], rdx
mov byte [rsp + 0x118], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x100], xmm0
mov dword [rsp + 0x114], eax
movzx r9d, r13w
mov dword [rsp + 0x110], 0
mov dword [rsp + 0x11c], r8d
mov word [rsp + 0x119], 0x101
mov edx, r13d
test rsi, rsi
mov qword [rsp + 0x30], r9
mov word [rsp + 0x7e], r10w
je 0x140299555
mov rax, qword [rsi + 8]
mov rcx, qword [rsi + 0x18]
movzx eax, word [rax + r9*2]
mov dx, 0xffff
cmp ax, word [rcx + 0x34]
je 0x140299555
test ax, ax
js 0x140299658
movsx rdx, ax
mov rcx, qword [rcx + 8]
lea rdx, [rdx + rdx*2]
mov cl, byte [rcx + rdx*8 + 0xc]
mov byte [rsp + 0x118], cl
mov rcx, qword [rsi + 0x40]
mov rcx, qword [rcx + r9*8]
mov qword [rsp + 0x100], rcx
mov edx, eax
lea rcx, [rsp + 0xf0]
mov word [rcx + 0x58], dx
call fcn.140298e40
mov r14, rax
mov word [r15 + 0x12], 0
mov rax, qword [rsi + 0x10]
movsx r8, word [rax]
xor edi, edi
cmp r8, 0xb
jl 0x140299da9
movzx ecx, r8w
mov bp, 0x28
mov rax, r8
cmp ecx, 0x100
mov r11, qword [rsp + 0x30]
jae 0x140299db5
cmp rax, 0x10
jb 0x140299d98
mov rcx, rax
add ebp, 0xa
shr rcx, 1
cmp rax, 0x1f
mov rax, rcx
ja 0x1402995ad
and ecx, 7
lea rax, [0x1404fbb80]
add bp, word [rax + rcx*2]
add ebp, 0xffffffd5
movzx edx, bx
test r14, r14
jne 0x1402996db
mov rax, qword [rsp + 0xc8]
mov qword [r15], rax
mov word [r15 + 0x18], r13w
movzx eax, word [rsp + 0x5e]
mov word [r15 + 0x1a], ax
movzx eax, word [rsp + 0x5c]
mov word [r15 + 0x1c], ax
movzx ecx, word [rsp + 0x7e]
mov word [r15 + 0x3e], cx
mov eax, dword [rsp + 0x78]
mov dword [r15 + 0x38], eax
mov eax, dword [rsp + 0x74]
mov word [r15 + 0x16], ax
mov word [r15 + 0x3c], bx
cmp r13w, cx
jne 0x14029963e
lea eax, [r11 + 1]
movzx ecx, word [rsi + 0x5e]
cmp eax, ecx
setb al
cmp r13w, bx
sete cl
and cl, al
cmp cl, 1
je 0x140299669
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
cmp rcx, qword [0x140516040]
je 0x14029967d
call fcn.14029bbb0
int3
mov edx, eax
cmp ax, 0xfffe
jne 0x140299555
jmp 0x14029a293
mov eax, 0xc0
and eax, dword [rsi + 0x64]
cmp eax, 0x80
jne 0x14029963e
jmp 0x14029a2ca
mov eax, edi
add rsp, 0x168
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, qword [r14]
mov ecx, dword [rdx + 4]
test cl, 3
je 0x140299c49
mov edx, dword [rdx + 0x34]
cmp edx, dword [r10 + 0x44]
jne 0x140299c49
test al, 0x18
je 0x1402997a9
and ecx, 2
je 0x1402997a9
jmp 0x140299c49
movzx ecx, word [rsi + 0x5e]
dec ecx
mov al, 2
cmp ecx, r11d
je 0x1402997b5
jmp 0x1402997b3
lea eax, [rdx + 8]
and eax, 0xfffffff8
mov qword [rsp + 0xe8], rax
lea eax, [rax*8]
mov qword [rsp + 0xe0], rax
lea rax, [r15 + 0x58]
mov qword [rsp + 0xd8], rax
movsx ecx, bp
lea eax, [rcx - 0x31]
mov dword [rsp + 0xb8], eax
lea eax, [rcx - 0x1f]
mov dword [rsp + 0xb4], eax
lea eax, [rbp + 1]
mov dword [rsp + 0xb0], eax
lea eax, [rcx + 0x31]
mov dword [rsp + 0xbc], eax
mov qword [rsp + 0xa0], rcx
lea eax, [rcx + 0x1f]
mov dword [rsp + 0xac], eax
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x90], rdx
movzx r9d, word [r14 + 0x14]
cmp r9d, 0x100
mov r10, qword [rsp + 0x68]
je 0x140299e45
test byte [r14 + 0x12], 0x80
jne 0x140299e45
mov rax, qword [r15 + 8]
xor edi, edi
test qword [r14 + 0x28], rax
jne 0x140299c49
test byte [r14 + 0x13], 1
jne 0x14029a058
mov al, byte [r10 + 0x3c]
test al, 0x58
jne 0x140299693
cmp byte [rsi + 0x62], 0
jne 0x1402996c5
mov al, 1
mov rdi, qword [rsp + 0x60]
or byte [rdi + 0x20], al
mov eax, dword [rsp + 0x78]
mov dword [r15 + 0x38], eax
mov word [r15 + 0x18], r13w
movzx eax, word [rsp + 0x5e]
mov word [r15 + 0x1a], ax
movzx eax, word [rsp + 0x5c]
mov word [r15 + 0x1c], ax
mov word [r15 + 0x3c], bx
cmp bx, word [r15 + 0x40]
jae 0x140299cfe
mov r12, qword [r15 + 0x48]
mov eax, ebx
lea ecx, [rax + 1]
mov word [r15 + 0x3c], cx
movzx eax, ax
mov qword [r12 + rax*8], r14
mov rax, qword [r14 + 0x28]
or rax, qword [rsp + 0xc8]
mov rcx, qword [r15 + 8]
not rcx
and rcx, rax
mov qword [r15], rcx
test r9b, 1
jne 0x140299ed3
test r9b, 0x82
je 0x1402999e4
mov r10d, r9d
mov rax, qword [rsi + 8]
movzx r9d, word [rax + r11*2]
mov eax, dword [r15 + 0x38]
mov ecx, eax
or ecx, 1
mov dword [r15 + 0x38], ecx
mov edx, 0x1001
cmp r9w, 0xffff
je 0x140299981
cmp word [rsp + 0x98], 0
jne 0x140299e32
test r9w, r9w
js 0x140299e32
movzx r12d, word [rsi + 0x5e]
lea r9d, [r12 - 1]
cmp r9d, r11d
mov r9d, r10d
jne 0x1402998aa
test byte [rsi + 0x64], 8
jne 0x1402998a2
cmp r12w, 1
jne 0x14029989d
cmp r9d, 2
jne 0x14029989d
cmp byte [rsi + 0x62], 0
jne 0x1402998a2
mov edx, 0x10001
or eax, edx
mov dword [r15 + 0x38], eax
mov ecx, eax
xor r10d, r10d
cmp byte [rsp + 0x119], 2
jae 0x140299cde
test cl, 2
jne 0x140299a7f
mov eax, dword [r15 + 0x18]
inc eax
mov word [r15 + 0x18], ax
movzx r12d, word [r14 + 0x10]
test r12w, r12w
jle 0x14029a223
movzx eax, ax
mov rdx, qword [rsi + 0x10]
movzx r12d, word [rdx + rax*2]
sub r12w, word [rdx + rax*2 - 2]
add r12w, word [r15 + 0x16]
mov word [r15 + 0x16], r12w
bt r9d, 8
jb 0x14029a23d
mov r11, qword [rsp + 0x40]
mov eax, dword [rsi + 0x64]
not eax
test al, 3
je 0x140299989
movsx eax, word [rsi + 0x5c]
lea eax, [rax + rax*4]
lea eax, [rax + rax*2]
mov rdx, qword [rsp + 0x68]
mov rdx, qword [rdx + 0x20]
movsx r9d, word [rdx + 0x3c]
cdq
idiv r9d
add eax, r12d
inc eax
movsx edx, ax
cmp bp, dx
jl 0x140299b5e
mov eax, ebp
cmp dword [rsp + 0xb8], edx
jg 0x140299b67
mov eax, dword [rsp + 0xb0]
cmp dword [rsp + 0xb4], edx
jg 0x140299b67
mov rax, qword [rsp + 0xa0]
sub eax, edx
cdqe
lea rdx, str._n_n_t_t_b_b_a_a_a
movzx eax, byte [rax + rdx]
add eax, ebp
jmp 0x140299b67
mov r9d, r10d
jmp 0x1402998a2
lea eax, [r12 + 0x10]
jmp 0x140299934
or ecx, 0x22
mov dword [r15 + 0x38], ecx
mov word [r15 + 0x1a], r12w
test byte [r14 + 0x13], 1
mov rdi, qword [rsp + 0x60]
jne 0x14029a394
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x40], r14
xor r10d, r10d
jmp 0x1402998bb
mov rcx, qword [r15 + 0x48]
movzx edx, word [r15 + 0x3c]
mov rcx, qword [rcx + rdx*8 - 0x10]
mov qword [rsp + 0x40], rcx
xor r10d, r10d
mov ecx, eax
mov qword [rsp + 0x48], r14
jmp 0x1402998bb
bt r9d, 8
jb 0x14029a283
mov rax, qword [r14]
mov rax, qword [rax + 0x10]
mov cl, byte [rax]
cmp cl, 0xa3
je 0x14029a252
cmp cl, 0xa4
je 0x14029a25e
movzx edx, cl
mov ecx, 1
cmp edx, 0x80
je 0x14029a25a
movzx edi, word [rsi + 0x60]
sub edi, r11d
cmp ecx, edi
cmovl edi, ecx
mov r12d, 1
cmp edi, 2
jge 0x14029a067
mov ecx, dword [r15 + 0x38]
test r9b, 0x24
jne 0x140299990
mov eax, ecx
or eax, 0x12
mov dword [r15 + 0x38], eax
mov word [r15 + 0x1c], r12w
test cl, 0x20
mov rdi, qword [rsp + 0x60]
jne 0x1402999c2
movzx edx, word [r15 + 0x16]
xor r11d, r11d
xor r10d, r10d
mov r9d, edx
jmp 0x140299ab1
mov eax, ecx
mov r14, qword [rsp + 0x48]
xor r11d, r11d
jmp 0x140299a6e
movzx edx, word [r15 + 0x16]
mov r11, qword [rsp + 0x40]
test r11, r11
je 0x140299a73
movzx r9d, word [r11 + 0x10]
test r9w, r9w
jle 0x14029a27b
lea r9d, [rdx - 0x14]
test byte [r11 + 0x12], 0x80
cmovne r9d, edx
mov eax, ecx
mov r14, qword [rsp + 0x48]
test r14, r14
je 0x140299ad4
movzx ecx, word [r14 + 0x10]
test cx, cx
jle 0x14029a273
test byte [r14 + 0x12], 0x80
lea ecx, [r9 - 0x14]
cmovne ecx, r9d
mov r9d, ecx
test r11, r11
je 0x140299af7
test r14, r14
je 0x140299af7
cmp word [r11 + 0x10], 0
jle 0x140299af7
cmp word [r14 + 0x10], 0
lea ecx, [r9 - 0x14]
cmovle ecx, r9d
mov r9d, ecx
movsx r12d, dx
cmp r14, 1
adc r12d, 0xffffffff
cmp r11, 1
adc r12d, 0xffffffff
cmp r9w, 0xb
mov ecx, 0xa
cmovge ecx, r9d
movzx ecx, cx
cmp r12d, ecx
cmovge r12d, ecx
mov word [r15 + 0x16], r12w
mov ecx, eax
mov qword [rsp + 0x48], r14
jmp 0x14029990a
cmp dword [rsp + 0xac], edx
jl 0x140299ced
mov eax, edx
sub eax, dword [rsp + 0xa0]
cdqe
lea r9, str._n_n_t_t_b_b_a_a_a
movzx eax, byte [rax + r9]
add edx, eax
mov eax, edx
jmp 0x140299b67
cmp dword [rsp + 0xbc], edx
jge 0x140299b34
test ecx, 0x4000140
jne 0x140299bb7
lea r9d, [r12 + 0x10]
movsx ecx, ax
movsx edx, r9w
cmp cx, dx
jge 0x140299baa
lea eax, [rcx + 0x31]
cmp eax, edx
jl 0x140299bba
lea eax, [rcx + 0x1f]
cmp eax, edx
jl 0x140299cf4
mov eax, edx
sub eax, ecx
cdqe
lea rcx, str._n_n_t_t_b_b_a_a_a
movzx eax, byte [rax + rcx]
add edx, eax
mov r9d, edx
jmp 0x140299bba
lea r9d, [rdx + 0x31]
cmp r9d, ecx
jge 0x140299c8a
mov r9d, eax
mov qword [rsp + 0x40], r11
add r10d, dword [rsp + 0x98]
add r9d, r10d
mov word [r15 + 0x14], r9w
mov r14, r10
lea eax, [r12 + r10]
mov word [r15 + 0x16], ax
mov rcx, qword [rdi + 8]
mov rdx, r15
call fcn.1402991e0
mov rcx, rdi
mov rdx, r15
call fcn.1401d39d0
mov edi, eax
mov eax, dword [r15 + 0x38]
test al, 2
cmovne r12d, dword [rsp + 0x74]
mov word [r15 + 0x16], r12w
test al, 0x10
jne 0x140299c40
movzx eax, word [r15 + 0x18]
cmp ax, word [rsi + 0x60]
jae 0x140299c40
cmp ax, word [rsi + 0x5e]
jb 0x140299c25
mov ecx, dword [rsi + 0x64]
and ecx, 3
cmp ecx, 2
je 0x140299c40
cmp ax, 4
mov rdx, qword [rsp + 0x68]
jae 0x140299cae
mov rcx, qword [rsp + 0x60]
mov r8, rsi
mov r9d, r14d
call fcn.1402993b0
mov eax, dword [rsp + 0x74]
mov word [r15 + 0x16], ax
lea rcx, [rsp + 0xf0]
call fcn.140298e40
mov r14, rax
test edi, edi
sete al
test r14, r14
setne cl
test al, cl
mov r11, qword [rsp + 0x30]
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x90]
je 0x1402995d9
jmp 0x140299760
inc eax
jmp 0x140299bb7
lea r9d, [rdx + 0x1f]
cmp r9d, ecx
jl 0x140299c83
mov eax, ecx
sub eax, edx
cdqe
lea rdx, str._n_n_t_t_b_b_a_a_a
movzx eax, byte [rax + rdx]
add ecx, eax
mov r9d, ecx
jmp 0x140299bba
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
mov eax, dword [rax + 0x188]
test eax, eax
je 0x140299c30
mov rax, qword [rsp + 0x88]
inc dword [rax + 0x30]
mov dword [rax + 0x18], 9
jmp 0x140299c30
or ecx, 0x200000
mov dword [r15 + 0x38], ecx
jmp 0x1402998bb
inc eax
jmp 0x140299b67
lea r9d, [r12 + 0x11]
jmp 0x140299bba
mov dword [rsp + 0x2c], r9d
xor edi, edi
mov rcx, qword [rsp + 0x80]
cmp byte [rcx + 0x67], 0
jne 0x140299dda
mov rdx, qword [rsp + 0xe0]
call fcn.140268c70
test rax, rax
mov r11, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x90]
je 0x1402995d9
mov r12, rax
mov rdx, qword [r15 + 0x48]
movzx r8d, word [r15 + 0x40]
shl r8d, 3
mov rcx, rax
call fcn.1402d94c0
mov rdx, qword [r15 + 0x48]
cmp rdx, qword [rsp + 0xd8]
jne 0x14029a40b
mov qword [r15 + 0x48], r12
mov rax, qword [rsp + 0xe8]
mov word [r15 + 0x40], ax
movzx eax, word [r15 + 0x3c]
mov r10, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x60]
mov r11, qword [rsp + 0x30]
mov r8, qword [rsp + 0x50]
mov r9d, dword [rsp + 0x2c]
jmp 0x1402997f4
mov rcx, rax
jmp 0x1402995bc
mov edi, dword [r11 + 0x18]
jmp 0x14029963e
xor ebp, ebp
mov r11, qword [rsp + 0x30]
jmp 0x1402995cd
mov bp, 0x28
mov rcx, r8
mov rax, r8
add ebp, 0x28
shr rax, 4
cmp rcx, 0xfff
mov rcx, rax
jbe 0x1402995a0
jmp 0x140299dbf
xor edi, edi
mov r11, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x90]
jmp 0x1402995d9
mov r8d, eax
and r8d, 0xffffff83
test r9b, 4
cmovne eax, r8d
bt r9d, 8
jae 0x140299e1b
mov r8d, eax
and r8d, 0x13c
mov rdx, qword [rsp + 0x68]
test byte [rdx + 0x40], 2
cmove eax, r8d
jmp 0x140299e20
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
mov r11, qword [rsp + 0x88]
jmp 0x140299439
mov r9d, r10d
jmp 0x1402998aa
xor eax, eax
cmp cx, 0xffff
sete al
jmp 0x140299e66
mov rax, qword [rsi + 8]
movsx rcx, word [rax + r11*2]
test rcx, rcx
js 0x140299e3a
mov rax, qword [rsi + 0x18]
mov rax, qword [rax + 8]
lea rcx, [rcx + rcx*2]
mov eax, dword [rax + rcx*8 + 8]
and eax, 0xf
xor edi, edi
test eax, eax
mov r10, qword [rsp + 0x68]
mov r11, qword [rsp + 0x30]
mov r8, qword [rsp + 0x50]
jne 0x140299c49
jmp 0x140299782
mov ax, 0x28
cmp ecx, 0x100
jb 0x140299eac
mov ax, 0x28
mov rdx, rcx
add eax, 0x28
shr rdx, 4
cmp rcx, 0xfff
mov rcx, rdx
ja 0x140299e97
jmp 0x140299eaf
mov rdx, rcx
mov r8, rdx
cmp rdx, 0x10
jb 0x140299f5f
add eax, 0xa
mov r8, rdx
shr r8, 1
cmp rdx, 0x1f
mov rdx, r8
ja 0x140299ebc
jmp 0x140299f5f
mov r12d, r9d
mov rax, qword [r14]
test byte [rax + 5], 0x10
je 0x140299f05
movzx ecx, word [r15 + 0x3c]
mov r10d, 0x2e
cmp rcx, 2
jb 0x140299f76
dec ecx
mov rdx, qword [r15 + 0x48]
mov r10d, 0x2e
xor r8d, r8d
jmp 0x140299f40
mov rax, qword [rax + 0x20]
xor r10d, r10d
test rax, rax
je 0x140299f76
movsxd rcx, dword [rax]
test rcx, rcx
je 0x140299f76
cmp ecx, 8
jae 0x140299e84
cmp ecx, 1
jne 0x140299f4b
xor eax, eax
jmp 0x140299f72
cmp qword [r9], rax
mov r9d, 0
cmove r10d, r9d
inc r8
cmp rcx, r8
je 0x140299f76
mov r9, qword [rdx + r8*8]
test r9, r9
jne 0x140299f2b
jmp 0x140299f38
mov ax, 0x28
add eax, 0xfffffff6
lea r8, [rcx + rcx]
cmp rcx, 4
mov rcx, r8
jb 0x140299f4f
and r8d, 7
lea rcx, [0x1404fbb80]
add ax, word [rcx + r8*2]
add eax, 0xfffffff6
movsx r10d, ax
test byte [rsi + 0x64], 0x80
je 0x14029a036
cmp bp, 0xa
jl 0x14029a036
cmp r10d, 0xb
jl 0x140299fea
movzx edx, r10w
mov ax, 0x28
cmp edx, 0x100
jb 0x140299fbc
mov ax, 0x28
mov rcx, rdx
add eax, 0x28
shr rcx, 4
cmp rdx, 0xfff
mov rdx, rcx
ja 0x140299fa7
jmp 0x140299fbf
mov rcx, rdx
cmp rcx, 0x10
jb 0x140299fd7
add eax, 0xa
mov rdx, rcx
shr rdx, 1
cmp rcx, 0x1f
mov rcx, rdx
ja 0x140299fc5
and ecx, 7
lea rdx, [0x1404fbb80]
add ax, word [rdx + rcx*2]
add eax, 0xffffffd5
jmp 0x140299fec
xor eax, eax
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsp + 0x30]
movzx ecx, word [rcx + rdx*2]
mov rdx, qword [rsp + 0xa0]
add edx, r10d
sub ecx, edx
add ecx, eax
add cx, 0xa
jns 0x14029a036
xor edi, edi
cmp word [rsp + 0x98], 1
jg 0x140299c49
mov rax, qword [rsp + 0x80]
test byte [rax + 0x62], 2
jne 0x140299c49
or byte [r15 + 0x3a], 0x10
mov ecx, dword [r15 + 0x38]
or ecx, 4
mov dword [r15 + 0x38], ecx
mov rdi, qword [rsp + 0x60]
mov r11, qword [rsp + 0x30]
mov r8, qword [rsp + 0x50]
mov r9d, r12d
jmp 0x1402998bb
cmp r9d, 0x10
jne 0x14029979d
jmp 0x140299c49
mov dword [rsp + 0x2c], r9d
mov eax, dword [r10 + 0x44]
mov dword [rsp + 0xa8], eax
mov eax, edi
mov qword [rsp + 0xd0], rax
mov r12d, 1
mov rcx, qword [r14]
mov rax, qword [rcx + 0x18]
test byte [rax + 5], 0x10
je 0x14029a098
mov rax, qword [rax + 0x20]
mov rcx, qword [rcx + 0x10]
mov rdx, qword [rcx + 0x20]
mov rcx, r12
shl rcx, 5
mov rdx, qword [rdx + rcx + 8]
mov qword [rsp + 0x40], rdx
cmp byte [rdx], 0x9a
jne 0x14029a20f
mov edx, dword [rsp + 0xa8]
mov r8, qword [rsp + 0x40]
cmp dword [r8 + 0x2c], edx
jne 0x14029a20f
mov rdx, qword [rsp + 0x40]
movzx edx, word [rdx + 0x30]
mov r8, qword [rsi + 8]
mov r9, qword [rsp + 0x30]
add r9, r12
mov qword [rsp + 0x48], r9
cmp dx, word [r8 + r9*2]
jne 0x14029a20f
mov rdx, qword [rsi + 0x38]
mov r8, qword [rsp + 0x48]
mov r8b, byte [rdx + r8]
mov r9, qword [rsp + 0x30]
cmp r8b, byte [rdx + r9]
jne 0x14029a20f
mov rax, qword [rax + 0x20]
mov rax, qword [rax + rcx + 8]
mov qword [rsp + 0xc0], rax
mov rcx, qword [rsp + 0x40]
call fcn.14041ac70
mov byte [rsp + 0x3f], al
mov rcx, qword [rsp + 0xc0]
call fcn.14041ac70
mov dl, byte [rsp + 0x3f]
mov ecx, edx
cmp dl, 0x41
jl 0x14029a165
cmp al, 0x41
jl 0x14029a165
cmp al, 0x43
setae al
add al, al
or al, 0x41
cmp cl, 0x43
movzx eax, al
mov ecx, 0x43
cmovae eax, ecx
jmp 0x14029a172
cmp al, 0x41
movzx ecx, cl
movzx eax, al
cmovl eax, ecx
or al, 0x40
mov rcx, qword [rsp + 0x40]
movsx rdx, word [rcx + 0x30]
mov cl, 0x44
test rdx, rdx
js 0x14029a19a
mov r8, qword [rsi + 0x18]
cmp word [r8 + 0x36], dx
jle 0x14029a19a
mov rcx, qword [r8 + 8]
lea rdx, [rdx + rdx*2]
mov cl, byte [rcx + rdx*8 + 0xc]
cmp al, cl
jne 0x14029a20f
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0xc0]
call fcn.140279ba0
test rax, rax
je 0x14029a20f
mov rcx, qword [rsi + 0x40]
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rcx + rdx*8]
mov rax, qword [rax]
xor edx, edx
jmp 0x14029a1d9
test r8, r8
je 0x14029a1fb
inc rdx
movzx r8d, byte [rax + rdx]
movzx r9d, byte [rcx + rdx]
cmp r8b, r9b
je 0x14029a1d1
lea r10, [0x1404f3130]
mov r8b, byte [r8 + r10]
cmp r8b, byte [r9 + r10]
je 0x14029a1d6
jmp 0x14029a20f
inc r12
cmp r12, qword [rsp + 0xd0]
jne 0x14029a087
mov r12d, edi
mov r11, qword [rsp + 0x30]
mov r8, qword [rsp + 0x50]
mov r9d, dword [rsp + 0x2c]
jmp 0x140299a39
mov rdx, qword [rsi + 8]
cmp word [rdx + r11*2], 0
js 0x1402998de
sub r12d, r10d
add r12w, word [r15 + 0x16]
jmp 0x14029a241
add r12d, 0xa
mov eax, ecx
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x40]
jmp 0x140299b23
mov cl, byte [rax + 2]
jmp 0x140299a01
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 0x20]
mov ecx, dword [rax]
mov r10, qword [rsp + 0x68]
mov r11, qword [rsp + 0x30]
jmp 0x140299a1e
add ecx, r9d
jmp 0x140299ad1
add r9d, edx
jmp 0x140299aaa
mov ecx, dword [r15 + 0x38]
or ecx, 8
mov dword [r15 + 0x38], ecx
jmp 0x1402999ba
mov rax, qword [rsi + 0x50]
mov ecx, r9d
shl ecx, 5
mov rax, qword [rax + rcx + 8]
lea rcx, [rsp + 0xf0]
mov qword [rcx + 0x18], rax
mov rax, qword [rsi + 0x40]
mov rax, qword [rax + r9*8]
mov qword [rcx + 0x10], rax
mov word [rcx + 0x58], 0xfffe
call fcn.140423470
jmp 0x140299566
mov rax, qword [rsp + 0x80]
test byte [rax + 0x61], 0x40
jne 0x14029963e
mov rax, qword [rsi + 0x10]
mov rcx, qword [rsp + 0x30]
cmp word [rax + rcx*2 + 2], 0x2a
jl 0x14029963e
mov r8, rdx
inc r8d
mov rcx, qword [rsp + 0x80]
mov rdx, r15
call fcn.140423fb0
mov edi, eax
test eax, eax
jne 0x14029963e
inc word [r15 + 0x18]
inc word [r15 + 0x3e]
mov rax, qword [r15 + 0x48]
movzx ecx, word [r15 + 0x3c]
lea edx, [rcx + 1]
mov word [r15 + 0x3c], dx
mov qword [rax + rcx*8], 0
or byte [r15 + 0x39], 0x80
mov rax, qword [rsi + 0x10]
mov rdx, qword [rsp + 0x30]
movzx ecx, word [rax + rdx*2]
sub cx, word [rax + rdx*2 + 2]
sub word [r15 + 0x16], cx
mov rax, qword [rsp + 0x98]
lea r9d, [rax + rcx]
add r9d, 5
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov r8, rsi
call fcn.1402993b0
mov eax, dword [rsp + 0x74]
mov word [r15 + 0x16], ax
mov word [r15 + 0x18], r13w
mov word [r15 + 0x3e], r13w
mov eax, dword [rsp + 0x78]
mov dword [r15 + 0x38], eax
xor edi, edi
jmp 0x14029963e
mov dword [rsp + 0x2c], r9d
mov r12, r8
movzx r8d, word [r15 + 0x3c]
inc r8d
mov rcx, qword [rsp + 0x80]
mov rdx, r15
call fcn.140423fb0
test eax, eax
jne 0x140299dd8
lea r8, [r14 + 0x38]
mov rax, qword [r15 + 0x48]
movzx ecx, word [r15 + 0x3c]
lea edx, [rcx + 1]
mov word [r15 + 0x3c], dx
mov qword [rsp + 0x48], r8
mov qword [rax + rcx*8], r8
mov ecx, dword [r15 + 0x38]
or ecx, 0x10
mov dword [r15 + 0x38], ecx
mov word [r15 + 0x1c], 1
xor r10d, r10d
mov qword [rsp + 0x40], r14
mov rdi, qword [rsp + 0x60]
mov r11, qword [rsp + 0x30]
mov r8, r12
mov r9d, dword [rsp + 0x2c]
jmp 0x1402998bb
mov rcx, qword [rsp + 0x80]
call fcn.140268820
jmp 0x140299d64