Function at 0x140295360
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 [0x1404fe040]
xor rax, rsp
mov qword [rsp + 0x160], rax
mov rax, qword [rcx]
mov r11, qword [rax]
cmp dword [r11 + 0x30], 0
jne 0x140295d44
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 0x140295d90
mov r8, qword [r11]
mov qword [rsp + 0x80], r8
movabs r8, 0xaaaaaaaaaaaaaaaa
mov qword [r10 + 0x40], r8
movaps xmm0, xmmword [0x140470090]
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 r9d, r13w
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
mov dword [rsp + 0x110], 0
mov dword [rsp + 0x11c], r8d
mov word [rsp + 0x119], 0x101
mov rax, qword [rsi + 8]
mov rcx, qword [rsi + 0x18]
movzx eax, word [rax + r9*2]
mov dx, 0xffff
cmp ax, word [rcx + 0x34]
mov qword [rsp + 0x30], r9
mov word [rsp + 0x7e], r10w
je 0x1402954fd
test ax, ax
js 0x140295600
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.140294df0
mov r14, rax
mov word [r15 + 0x12], 0
mov rax, qword [rsi + 0x10]
movsx r8, word [rax]
xor edi, edi
cmp r8, 0xb
jl 0x140295d4d
movzx ecx, r8w
mov bp, 0x28
mov rax, r8
cmp ecx, 0x100
mov r11, qword [rsp + 0x30]
jae 0x140295d59
cmp rax, 0x10
jb 0x140295d3c
mov rcx, rax
add ebp, 0xa
shr rcx, 1
cmp rax, 0x1f
mov rax, rcx
ja 0x140295555
and ecx, 7
lea rax, [0x1404e5700]
add bp, word [rax + rcx*2]
add ebp, 0xffffffd5
movzx edx, bx
test r14, r14
jne 0x140295683
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 0x1402955e6
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 0x140295611
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
cmp rcx, qword [0x1404fe040]
je 0x140295625
call fcn.140297b50
int3
mov edx, eax
cmp ax, 0xfffe
jne 0x1402954fd
jmp 0x140296230
mov eax, 0xc0
and eax, dword [rsi + 0x64]
cmp eax, 0x80
jne 0x1402955e6
jmp 0x140296267
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 0x140295bed
mov edx, dword [rdx + 0x34]
cmp edx, dword [r10 + 0x44]
jne 0x140295bed
test al, 0x18
je 0x140295751
and ecx, 2
je 0x140295751
jmp 0x140295bed
movzx ecx, word [rsi + 0x5e]
dec ecx
mov al, 2
cmp ecx, r11d
je 0x14029575d
jmp 0x14029575b
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 0x140295de9
test byte [r14 + 0x12], 0x80
jne 0x140295de9
mov rax, qword [r15 + 8]
xor edi, edi
test qword [r14 + 0x28], rax
jne 0x140295bed
test byte [r14 + 0x13], 1
jne 0x140295ff5
mov al, byte [r10 + 0x3c]
test al, 0x58
jne 0x14029563b
cmp byte [rsi + 0x62], 0
jne 0x14029566d
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 0x140295ca2
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 0x140295e77
test r9b, 0x82
je 0x14029596a
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 0x140295929
cmp word [rsp + 0x98], 0
jne 0x140295dd6
test r9w, r9w
js 0x140295dd6
movzx r12d, word [rsi + 0x5e]
lea r9d, [r12 - 1]
cmp r9d, r11d
mov r9d, r10d
jne 0x140295852
test byte [rsi + 0x64], 8
jne 0x14029584a
cmp r12w, 1
jne 0x140295845
cmp r9d, 2
jne 0x140295845
cmp byte [rsi + 0x62], 0
jne 0x14029584a
mov edx, 0x10001
or eax, edx
mov dword [r15 + 0x38], eax
mov ecx, eax
xor r10d, r10d
cmp byte [rsp + 0x119], 2
jae 0x140295c82
test cl, 2
jne 0x140295a23
mov eax, dword [r15 + 0x18]
inc eax
mov word [r15 + 0x18], ax
movzx r12d, word [r14 + 0x10]
test r12w, r12w
jle 0x1402961c0
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 0x1402961da
mov r11, qword [rsp + 0x40]
mov eax, dword [rsi + 0x64]
not eax
test al, 3
je 0x140295931
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 0x140295b02
mov eax, ebp
cmp dword [rsp + 0xb8], edx
jg 0x140295b0b
mov eax, dword [rsp + 0xb0]
cmp dword [rsp + 0xb4], edx
jg 0x140295b0b
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 0x140295b0b
mov r9d, r10d
jmp 0x14029584a
lea eax, [r12 + 0x10]
jmp 0x1402958dc
or ecx, 0x22
mov dword [r15 + 0x38], ecx
mov word [r15 + 0x1a], r12w
test byte [r14 + 0x13], 1
mov rdi, qword [rsp + 0x60]
jne 0x140296331
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x40], r14
xor r10d, r10d
jmp 0x140295863
bt r9d, 8
jb 0x140296220
mov rax, qword [r14]
mov rax, qword [rax + 0x10]
mov cl, byte [rax]
cmp cl, 0xa3
je 0x1402961ef
cmp cl, 0xa4
je 0x1402961fb
movzx edx, cl
mov ecx, 1
cmp edx, 0x80
je 0x1402961f7
movzx edi, word [rsi + 0x60]
sub edi, r11d
cmp ecx, edi
cmovl edi, ecx
mov r12d, 1
cmp edi, 2
jge 0x140296004
mov ecx, dword [r15 + 0x38]
test r9b, 0x24
jne 0x140295938
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 0x1402959f5
movzx edx, word [r15 + 0x16]
xor r11d, r11d
xor r10d, r10d
mov r9d, edx
jmp 0x140295a55
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 0x140295863
mov eax, ecx
mov r14, qword [rsp + 0x48]
xor r11d, r11d
jmp 0x1402959f0
movzx edx, word [r15 + 0x16]
mov r11, qword [rsp + 0x40]
test r11, r11
je 0x140295a17
movzx r9d, word [r11 + 0x10]
test r9w, r9w
jle 0x140296218
lea r9d, [rdx - 0x14]
test byte [r11 + 0x12], 0x80
cmovne r9d, edx
mov eax, ecx
mov r14, qword [rsp + 0x48]
test r14, r14
je 0x140295a78
movzx ecx, word [r14 + 0x10]
test cx, cx
jle 0x140296210
test byte [r14 + 0x12], 0x80
lea ecx, [r9 - 0x14]
cmovne ecx, r9d
mov r9d, ecx
test r11, r11
je 0x140295a9b
test r14, r14
je 0x140295a9b
cmp word [r11 + 0x10], 0
jle 0x140295a9b
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 0x1402958b2
cmp dword [rsp + 0xac], edx
jl 0x140295c91
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 0x140295b0b
cmp dword [rsp + 0xbc], edx
jge 0x140295ad8
test ecx, 0x4000140
jne 0x140295b5b
lea r9d, [r12 + 0x10]
movsx ecx, ax
movsx edx, r9w
cmp cx, dx
jge 0x140295b4e
lea eax, [rcx + 0x31]
cmp eax, edx
jl 0x140295b5e
lea eax, [rcx + 0x1f]
cmp eax, edx
jl 0x140295c98
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 0x140295b5e
lea r9d, [rdx + 0x31]
cmp r9d, ecx
jge 0x140295c2e
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.140295190
mov rcx, rdi
mov rdx, r15
call fcn.1401d3310
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 0x140295be4
movzx eax, word [r15 + 0x18]
cmp ax, word [rsi + 0x60]
jae 0x140295be4
cmp ax, word [rsi + 0x5e]
jb 0x140295bc9
mov ecx, dword [rsi + 0x64]
and ecx, 3
cmp ecx, 2
je 0x140295be4
cmp ax, 4
mov rdx, qword [rsp + 0x68]
jae 0x140295c52
mov rcx, qword [rsp + 0x60]
mov r8, rsi
mov r9d, r14d
call fcn.140295360
mov eax, dword [rsp + 0x74]
mov word [r15 + 0x16], ax
lea rcx, [rsp + 0xf0]
call fcn.140294df0
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 0x140295581
jmp 0x140295708
inc eax
jmp 0x140295b5b
lea r9d, [rdx + 0x1f]
cmp r9d, ecx
jl 0x140295c27
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 0x140295b5e
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
mov eax, dword [rax + 0x188]
test eax, eax
je 0x140295bd4
mov rax, qword [rsp + 0x88]
inc dword [rax + 0x30]
mov dword [rax + 0x18], 9
jmp 0x140295bd4
or ecx, 0x200000
mov dword [r15 + 0x38], ecx
jmp 0x140295863
inc eax
jmp 0x140295b0b
lea r9d, [r12 + 0x11]
jmp 0x140295b5e
mov dword [rsp + 0x2c], r9d
xor edi, edi
mov rcx, qword [rsp + 0x80]
cmp byte [rcx + 0x67], 0
jne 0x140295d7e
mov rdx, qword [rsp + 0xe0]
call fcn.14026a520
test rax, rax
mov r11, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x90]
je 0x140295581
mov r12, rax
mov rdx, qword [r15 + 0x48]
movzx r8d, word [r15 + 0x40]
shl r8d, 3
mov rcx, rax
call fcn.1402d2020
mov rdx, qword [r15 + 0x48]
cmp rdx, qword [rsp + 0xd8]
jne 0x1402963a8
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 0x14029579c
mov rcx, rax
jmp 0x140295564
mov edi, dword [r11 + 0x18]
jmp 0x1402955e6
xor ebp, ebp
mov r11, qword [rsp + 0x30]
jmp 0x140295575
mov bp, 0x28
mov rcx, r8
mov rax, r8
add ebp, 0x28
shr rax, 4
cmp rcx, 0xfff
mov rcx, rax
jbe 0x140295548
jmp 0x140295d63
xor edi, edi
mov r11, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x90]
jmp 0x140295581
mov r8d, eax
and r8d, 0xffffff83
test r9b, 4
cmovne eax, r8d
bt r9d, 8
jae 0x140295dbf
mov r8d, eax
and r8d, 0x13c
mov rdx, qword [rsp + 0x68]
test byte [rdx + 0x40], 2
cmove eax, r8d
jmp 0x140295dc4
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
mov r11, qword [rsp + 0x88]
jmp 0x1402953e9
mov r9d, r10d
jmp 0x140295852
xor eax, eax
cmp cx, 0xffff
sete al
jmp 0x140295e0a
mov rax, qword [rsi + 8]
movsx rcx, word [rax + r11*2]
test rcx, rcx
js 0x140295dde
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 0x140295bed
jmp 0x14029572a
mov ax, 0x28
cmp ecx, 0x100
jb 0x140295e50
mov ax, 0x28
mov rdx, rcx
add eax, 0x28
shr rdx, 4
cmp rcx, 0xfff
mov rcx, rdx
ja 0x140295e3b
jmp 0x140295e53
mov rdx, rcx
mov r8, rdx
cmp rdx, 0x10
jb 0x140295efb
add eax, 0xa
mov r8, rdx
shr r8, 1
cmp rdx, 0x1f
mov rdx, r8
ja 0x140295e60
jmp 0x140295efb
mov r12d, r9d
mov rax, qword [r14]
test byte [rax + 5], 0x10
je 0x140295ec5
movzx ecx, word [r15 + 0x3c]
mov r10d, 0x2e
cmp rcx, 2
jb 0x140295f12
dec ecx
mov rdx, qword [r15 + 0x48]
mov r10d, 0x2e
xor r8d, r8d
jmp 0x140295eba
cmp qword [r9], rax
mov r9d, 0
cmove r10d, r9d
inc r8
cmp rcx, r8
je 0x140295f12
mov r9, qword [rdx + r8*8]
test r9, r9
jne 0x140295ea5
jmp 0x140295eb2
mov rax, qword [rax + 0x20]
xor r10d, r10d
test rax, rax
je 0x140295f12
movsxd rcx, dword [rax]
test rcx, rcx
je 0x140295f12
cmp ecx, 8
jae 0x140295e28
cmp ecx, 1
je 0x140295f12
mov ax, 0x28
add eax, 0xfffffff6
lea r8, [rcx + rcx]
cmp rcx, 4
mov rcx, r8
jb 0x140295eeb
and r8d, 7
lea rcx, [0x1404e5700]
add ax, word [rcx + r8*2]
add eax, 0xfffffff6
movsx r10d, ax
test byte [rsi + 0x64], 0x80
je 0x140295fd3
cmp bp, 0xa
jl 0x140295fd3
xor eax, eax
cmp r10d, 0xb
jl 0x140295f89
movzx edx, r10w
mov ax, 0x28
cmp edx, 0x100
jb 0x140295f5a
mov ax, 0x28
mov rcx, rdx
add eax, 0x28
shr rcx, 4
cmp rdx, 0xfff
mov rdx, rcx
ja 0x140295f45
jmp 0x140295f5d
mov rcx, rdx
cmp rcx, 0x10
jb 0x140295f75
add eax, 0xa
mov rdx, rcx
shr rdx, 1
cmp rcx, 0x1f
mov rcx, rdx
ja 0x140295f63
and ecx, 7
lea rdx, [0x1404e5700]
add ax, word [rdx + rcx*2]
add eax, 0xffffffd5
movzx eax, ax
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 0x140295fd3
xor edi, edi
cmp word [rsp + 0x98], 1
jg 0x140295bed
mov rax, qword [rsp + 0x80]
test byte [rax + 0x62], 2
jne 0x140295bed
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 0x140295863
cmp r9d, 0x10
jne 0x140295745
jmp 0x140295bed
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 0x140296035
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 0x1402961ac
mov edx, dword [rsp + 0xa8]
mov r8, qword [rsp + 0x40]
cmp dword [r8 + 0x2c], edx
jne 0x1402961ac
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 0x1402961ac
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 0x1402961ac
mov rax, qword [rax + 0x20]
mov rax, qword [rax + rcx + 8]
mov qword [rsp + 0xc0], rax
mov rcx, qword [rsp + 0x40]
call fcn.140405ee0
mov byte [rsp + 0x3f], al
mov rcx, qword [rsp + 0xc0]
call fcn.140405ee0
mov dl, byte [rsp + 0x3f]
mov ecx, edx
cmp dl, 0x41
jl 0x140296102
cmp al, 0x41
jl 0x140296102
cmp al, 0x43
setae al
add al, al
or al, 0x41
cmp cl, 0x43
movzx eax, al
mov ecx, 0x43
cmovae eax, ecx
jmp 0x14029610f
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 0x140296137
mov r8, qword [rsi + 0x18]
cmp dx, word [r8 + 0x36]
jge 0x140296137
mov rcx, qword [r8 + 8]
lea rdx, [rdx + rdx*2]
mov cl, byte [rcx + rdx*8 + 0xc]
cmp al, cl
jne 0x1402961ac
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0xc0]
call fcn.14027b6a0
test rax, rax
je 0x1402961ac
mov rcx, qword [rsi + 0x40]
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rcx + rdx*8]
mov rax, qword [rax]
xor edx, edx
jmp 0x140296176
test r8, r8
je 0x140296198
inc rdx
movzx r8d, byte [rax + rdx]
movzx r9d, byte [rcx + rdx]
cmp r8b, r9b
je 0x14029616e
lea r10, [0x1404dccc0]
mov r8b, byte [r8 + r10]
cmp r8b, byte [r9 + r10]
je 0x140296173
jmp 0x1402961ac
inc r12
cmp r12, qword [rsp + 0xd0]
jne 0x140296024
mov r12d, edi
mov r11, qword [rsp + 0x30]
mov r8, qword [rsp + 0x50]
mov r9d, dword [rsp + 0x2c]
jmp 0x1402959bf
mov rdx, qword [rsi + 8]
cmp word [rdx + r11*2], 0
js 0x140295886
sub r12d, r10d
add r12w, word [r15 + 0x16]
jmp 0x1402961de
add r12d, 0xa
mov eax, ecx
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x40]
jmp 0x140295ac7
mov cl, byte [rax + 2]
jmp 0x140295987
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 0x1402959a4
add ecx, r9d
jmp 0x140295a75
add r9d, edx
jmp 0x140295a4e
mov ecx, dword [r15 + 0x38]
or ecx, 8
mov dword [r15 + 0x38], ecx
jmp 0x140295962
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.14040e340
jmp 0x14029550e
mov rax, qword [rsp + 0x80]
test byte [rax + 0x61], 0x40
jne 0x1402955e6
mov rax, qword [rsi + 0x10]
mov rcx, qword [rsp + 0x30]
cmp word [rax + rcx*2 + 2], 0x2a
jl 0x1402955e6
mov r8, rdx
inc r8d
mov rcx, qword [rsp + 0x80]
mov rdx, r15
call fcn.14040eea0
mov edi, eax
test eax, eax
jne 0x1402955e6
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.140295360
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 0x1402955e6
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.14040eea0
test eax, eax
jne 0x140295d7c
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 0x140295863
mov rcx, qword [rsp + 0x80]
call fcn.14026a0e0
jmp 0x140295d08