Function at 0x1402ea4a0
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, 0x158
mov rax, qword [0x14040b018]
xor rax, rsp
mov qword [rsp + 0x150], rax
mov rax, qword [rcx]
mov rdi, qword [rax]
mov r11, qword [rdi]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x148], rax
movaps xmm0, xmmword [0x1403df810]
movups xmmword [rsp + 0x138], xmm0
movups xmmword [rsp + 0x128], xmm0
movups xmmword [rsp + 0x118], xmm0
movups xmmword [rsp + 0x108], xmm0
cmp dword [rdi + 0x30], 0
je 0x1402ea515
mov edi, dword [rdi + 0x18]
jmp 0x1402eb3d4
mov rsi, r8
mov r15, qword [rcx + 0x10]
mov eax, dword [r15 + 0x38]
mov dword [rsp + 0x48], eax
test al, 0x20
mov eax, 0x1bf
mov r8d, 0x18
cmove r8d, eax
mov eax, r8d
and eax, 0xffffff83
test byte [rsi + 0x64], 4
cmove eax, r8d
movzx r10d, word [r15 + 0x18]
movzx r8d, word [r15 + 0x1a]
mov word [rsp + 0x32], r8w
movzx r8d, word [r15 + 0x1c]
mov word [rsp + 0x30], r8w
movzx r8d, word [r15 + 0x3e]
mov word [rsp + 0x4e], r8w
movzx ebp, word [r15 + 0x3c]
mov r8, qword [r15]
mov qword [rsp + 0xb8], r8
movzx r8d, word [r15 + 0x16]
mov dword [rsp + 0x6c], r8d
mov qword [rsp + 0x60], rdx
mov r8d, dword [rdx + 0x44]
mov rdx, qword [rcx + 8]
mov qword [rsp + 0xe0], rdx
mov qword [rsp + 0xe8], rdx
movzx ebx, r10w
mov byte [rsp + 0x108], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0xf0], xmm0
mov dword [rsp + 0x104], eax
mov word [rsp + 0x34], bp
movzx r14d, bp
mov dword [rsp + 0x100], 0
mov dword [rsp + 0x10c], r8d
mov word [rsp + 0x109], 0x101
mov edx, r10d
test rsi, rsi
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x58], r11
mov qword [rsp + 0x50], rdi
mov word [rsp + 0x36], r10w
je 0x1402ea68f
mov rax, qword [rsi + 8]
mov rcx, qword [rsi + 0x18]
movzx eax, word [rax + rbx*2]
mov dx, 0xffff
cmp ax, word [rcx + 0x34]
je 0x1402ea68f
test ax, ax
js 0x1402ea652
movsx rdx, ax
mov rcx, qword [rcx + 8]
mov edx, edx
lea rdx, [rdx + rdx*2]
mov cl, byte [rcx + rdx*8 + 0xc]
mov byte [rsp + 0x108], cl
mov rcx, qword [rsi + 0x40]
mov rcx, qword [rcx + rbx*8]
mov qword [rsp + 0xf0], rcx
mov edx, eax
jmp 0x1402ea68f
mov edx, eax
cmp ax, 0xfffe
jne 0x1402ea68f
mov rax, qword [rsi + 0x50]
mov rcx, rbx
shl rcx, 5
mov rax, qword [rax + rcx + 8]
lea rcx, [rsp + 0xe0]
mov qword [rcx + 0x18], rax
mov rax, qword [rsi + 0x40]
mov rax, qword [rax + rbx*8]
mov qword [rcx + 0x10], rax
mov word [rcx + 0x58], 0xfffe
call fcn.1402e7640
jmp 0x1402ea6a0
lea rcx, [rsp + 0xe0]
mov word [rcx + 0x58], dx
call fcn.1402e7310
mov r12, rax
mov word [r15 + 0x12], 0
mov rax, qword [rsi + 0x10]
movzx eax, word [rax]
xor edi, edi
mov r13d, 0
mov qword [rsp + 0x78], rax
cmp ax, 0xb
jl 0x1402ea72b
mov r13w, 0x28
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp ecx, 0x100
jb 0x1402ea6fa
mov r13w, 0x28
mov rcx, qword [rsp + 0x78]
mov rax, rcx
add r13d, 0x28
shr rax, 4
cmp rcx, 0xfff
mov rcx, rax
ja 0x1402ea6e6
cmp rax, 0x10
jb 0x1402ea715
mov rcx, rax
add r13d, 0xa
shr rcx, 1
cmp rax, 0x1f
mov rax, rcx
ja 0x1402ea703
jmp 0x1402ea718
mov rcx, rax
and ecx, 7
lea rax, [0x1403f9ce0]
add r13w, word [rax + rcx*2]
add r13d, 0xffffffd5
add r14d, 8
and r14d, 0xfffffff8
mov qword [rsp + 0xa8], r14
lea rax, [r14*8]
mov qword [rsp + 0xb0], rax
test r12, r12
je 0x1402eb2a0
lea rax, [r15 + 0x58]
mov qword [rsp + 0xa0], rax
movzx ecx, r13w
mov rax, rcx
mov qword [rsp + 0xd8], rcx
movsx eax, cx
lea ecx, [r13 + 1]
mov dword [rsp + 0x90], ecx
lea ecx, [rax + 0x31]
mov dword [rsp + 0x94], ecx
mov qword [rsp + 0x70], rax
add eax, 0x1f
mov dword [rsp + 0x8c], eax
xor eax, eax
mov qword [rsp + 0x38], rax
xor eax, eax
mov qword [rsp + 0x28], rax
movzx r14d, word [r12 + 0x14]
cmp r14d, 0x100
je 0x1402ea7bb
test byte [r12 + 0x12], 0x80
je 0x1402ea7f0
mov rax, qword [rsi + 8]
movzx ecx, word [rax + rbx*2]
test cx, cx
js 0x1402ea7dd
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
jmp 0x1402ea7e6
xor eax, eax
cmp cx, 0xffff
sete al
xor edi, edi
test eax, eax
jne 0x1402eb0a6
mov rax, qword [r15 + 8]
xor edi, edi
test qword [r12 + 0x28], rax
jne 0x1402eb0a6
test byte [r12 + 0x13], 1
je 0x1402ea814
cmp r14w, 0x10
je 0x1402eb0a6
mov rax, qword [rsp + 0x60]
mov al, byte [rax + 0x3c]
test al, 0x58
je 0x1402ea84f
mov rdx, qword [r12]
mov ecx, dword [rdx + 4]
test cl, 3
je 0x1402eb0a6
mov edx, dword [rdx + 0x34]
mov r8, qword [rsp + 0x60]
cmp edx, dword [r8 + 0x44]
jne 0x1402eb0a6
test al, 0x18
je 0x1402ea84f
and ecx, 2
jne 0x1402eb0a6
cmp byte [rsi + 0x62], 0
je 0x1402ea861
movzx ecx, word [rsi + 0x5e]
dec ecx
mov al, 2
cmp ecx, ebx
je 0x1402ea863
mov al, 1
mov rdi, qword [rsp + 0x20]
or byte [rdi + 0x20], al
mov eax, dword [rsp + 0x48]
mov dword [r15 + 0x38], eax
movzx eax, word [rsp + 0x36]
mov word [r15 + 0x18], ax
movzx eax, word [rsp + 0x32]
mov word [r15 + 0x1a], ax
movzx eax, word [rsp + 0x30]
mov word [r15 + 0x1c], ax
movzx eax, word [rsp + 0x34]
mov word [r15 + 0x3c], ax
cmp ax, word [r15 + 0x40]
jae 0x1402ea8a8
mov rbp, qword [r15 + 0x48]
jmp 0x1402ea91a
xor edi, edi
mov rcx, qword [rsp + 0x58]
cmp byte [rcx + 0x67], 0
jne 0x1402eb2a0
mov rdx, qword [rsp + 0xb0]
call fcn.140252670
test rax, rax
je 0x1402eb2a0
mov rbp, rax
mov rdx, qword [r15 + 0x48]
movzx r8d, word [r15 + 0x40]
shl r8, 3
mov rcx, rax
call fcn.140336540
mov rdx, qword [r15 + 0x48]
cmp rdx, qword [rsp + 0xa0]
je 0x1402ea8ff
mov rcx, qword [rsp + 0x58]
call fcn.140252440
mov qword [r15 + 0x48], rbp
mov rax, qword [rsp + 0xa8]
mov word [r15 + 0x40], ax
movzx eax, word [r15 + 0x3c]
mov rdi, qword [rsp + 0x20]
mov r10, qword [rsp + 0x40]
lea ecx, [rax + 1]
mov word [r15 + 0x3c], cx
movzx eax, ax
mov qword [rbp + rax*8], r12
mov rax, qword [r12 + 0x28]
or rax, qword [rsp + 0xb8]
mov rcx, qword [r15 + 8]
not rcx
and rcx, rax
mov qword [r15], rcx
test r14b, 1
jne 0x1402ea9db
test r14b, 0x82
je 0x1402eaa5e
mov rax, qword [rsi + 8]
movzx edx, word [rax + rbx*2]
mov eax, dword [r15 + 0x38]
mov ecx, eax
or ecx, 1
mov dword [r15 + 0x38], ecx
cmp dx, 0xffff
je 0x1402ea9b5
test r10w, r10w
jne 0x1402ea9c0
test dx, dx
js 0x1402ea9c0
movzx edx, word [rsi + 0x5e]
lea r8d, [rdx - 1]
cmp r8d, ebx
jne 0x1402ea9c0
test byte [rsi + 0x64], 8
jne 0x1402ea9b5
cmp dx, 1
jne 0x1402eb14a
cmp byte [rsi + 0x62], 0
je 0x1402eb14a
cmp r14w, 2
jne 0x1402eb14a
or eax, 0x1001
mov dword [r15 + 0x38], eax
mov ecx, eax
xor ebp, ebp
cmp byte [rsp + 0x109], 2
jb 0x1402eae22
or ecx, 0x200000
jmp 0x1402eae1e
mov rax, qword [r12]
test byte [rax + 5], 0x10
jne 0x1402eaa19
mov rax, qword [rax + 0x20]
xor ebp, ebp
test rax, rax
je 0x1402ead5f
movsxd rcx, dword [rax]
test rcx, rcx
je 0x1402ead5f
cmp ecx, 8
jae 0x1402eaaa0
cmp ecx, 2
jae 0x1402ead15
xor eax, eax
jmp 0x1402ead5c
movzx ecx, word [r15 + 0x3c]
mov ebp, 0x2e
cmp rcx, 2
jb 0x1402ead5f
dec ecx
mov rdx, qword [r15 + 0x48]
mov ebp, 0x2e
xor r8d, r8d
mov r9, qword [rdx + r8*8]
test r9, r9
je 0x1402eaa51
cmp qword [r9], rax
mov r9d, 0
cmove ebp, r9d
inc r8
cmp rcx, r8
jne 0x1402eaa3b
jmp 0x1402ead5f
bt r14d, 8
jb 0x1402eaa8e
mov rax, qword [r12]
mov rax, qword [rax + 0x10]
mov cl, byte [rax]
cmp cl, 0xa3
jne 0x1402eaa77
mov cl, byte [rax + 2]
cmp cl, 0x80
je 0x1402eaacf
movzx edx, cl
mov ecx, 1
cmp edx, 0xa4
je 0x1402eaad3
jmp 0x1402eaadc
mov ecx, dword [r15 + 0x38]
or ecx, 8
mov dword [r15 + 0x38], ecx
xor ebp, ebp
jmp 0x1402eae22
mov ax, 0x28
cmp ecx, 0x100
jb 0x1402ead2b
mov ax, 0x28
mov rdx, rcx
add eax, 0x28
shr rdx, 4
cmp rcx, 0xfff
mov rcx, rdx
ja 0x1402eaab7
jmp 0x1402ead2e
mov rax, qword [rax + 0x20]
add rax, 0x20
mov rax, qword [rax]
mov ecx, dword [rax]
movzx edx, word [rsi + 0x60]
sub edx, ebx
cmp ecx, edx
cmovl edx, ecx
mov ebp, 1
cmp edx, 2
jl 0x1402eb159
mov rax, qword [rsp + 0x60]
mov r9d, dword [rax + 0x44]
mov dword [rsp + 0x84], edx
mov eax, edx
mov qword [rsp + 0xc0], rax
mov ebp, 1
mov dword [rsp + 0x88], r9d
mov rdx, qword [r12]
mov r8, qword [rdx + 0x18]
mov rax, rbp
shl rax, 5
lea rdi, [r8 + 0x20]
test byte [r8 + 5], 0x10
je 0x1402eab3d
mov rdi, qword [rdi]
add rdi, 0x20
mov rdx, qword [rdx + 0x10]
mov rdx, qword [rdx + 0x20]
mov rcx, qword [rdx + rax + 8]
cmp byte [rcx], 0x9a
jne 0x1402eb154
cmp dword [rcx + 0x2c], r9d
jne 0x1402eb154
movsx r8, word [rcx + 0x30]
mov rdx, qword [rsi + 8]
lea r11, [rbx + rbp]
cmp r8w, word [rdx + r11*2]
jne 0x1402eb154
mov qword [rsp + 0x38], r8
mov rdx, qword [rsi + 0x38]
mov r8b, byte [rdx + r11]
cmp r8b, byte [rdx + rbx]
jne 0x1402eb154
mov qword [rsp + 0x28], r11
mov qword [rsp + 0xd0], rbp
mov rdx, qword [rdi]
mov rbp, qword [rdx + rax + 8]
mov qword [rsp + 0xc8], rcx
call fcn.1402c77c0
mov edi, eax
mov qword [rsp + 0x98], rbp
mov rcx, rbp
call fcn.1402c77c0
cmp dil, 0x41
jl 0x1402eabe4
cmp al, 0x41
jl 0x1402eabe4
cmp al, 0x43
setae al
add al, al
or al, 0x41
cmp dil, 0x43
movzx eax, al
mov ecx, 0x43
cmovae eax, ecx
jmp 0x1402eabf2
cmp al, 0x41
movzx ecx, dil
movzx eax, al
cmovl eax, ecx
or al, 0x40
mov r8, qword [rsp + 0x38]
mov cl, 0x44
test r8w, r8w
mov r10, qword [rsp + 0x40]
mov rbp, qword [rsp + 0xd0]
mov r9, qword [rsp + 0xc8]
js 0x1402eac2e
mov rdx, qword [rsi + 0x18]
cmp word [rdx + 0x36], r8w
jle 0x1402eac2e
mov rcx, qword [rdx + 8]
mov edx, r8d
lea rdx, [rdx + rdx*2]
mov cl, byte [rcx + rdx*8 + 0xc]
cmp al, cl
jne 0x1402eb154
test byte [r9 + 5], 2
jne 0x1402eac85
mov rdx, qword [rsp + 0x98]
test rdx, rdx
je 0x1402eac50
test byte [rdx + 5], 2
jne 0x1402eac8f
mov rcx, qword [rsp + 0x50]
mov rdx, r9
call fcn.1402893c0
test rax, rax
mov rdi, qword [rsp + 0x20]
mov r10, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x28]
jne 0x1402eacb1
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x98]
call fcn.1402893c0
jmp 0x1402eac9e
mov rcx, qword [rsp + 0x50]
mov rdx, r9
jmp 0x1402eac94
mov rcx, qword [rsp + 0x50]
call fcn.1402893c0
mov rdi, qword [rsp + 0x20]
test rax, rax
mov r10, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x28]
je 0x1402eb159
mov rcx, qword [rsi + 0x40]
mov rcx, qword [rcx + rdx*8]
mov rax, qword [rax]
xor edx, edx
movzx r8d, byte [rax + rdx]
movzx r9d, byte [rcx + rdx]
cmp r8b, r9b
jne 0x1402eacd4
test r8, r8
jne 0x1402eace9
jmp 0x1402eacee
lea r11, [0x1403f1500]
mov r8b, byte [r8 + r11]
cmp r8b, byte [r9 + r11]
jne 0x1402eb159
inc rdx
jmp 0x1402eacbe
inc rbp
cmp rbp, qword [rsp + 0xc0]
mov r9d, dword [rsp + 0x88]
jne 0x1402eab1c
mov eax, dword [rsp + 0x84]
mov ebp, eax
jmp 0x1402eb159
mov ax, 0x28
add eax, 0xfffffff6
lea r8, [rcx + rcx]
cmp rcx, 4
mov rcx, r8
jb 0x1402ead19
jmp 0x1402ead49
mov rdx, rcx
mov r8, rdx
cmp rdx, 0x10
jb 0x1402ead49
add eax, 0xa
mov r8, rdx
shr r8, 1
cmp rdx, 0x1f
mov rdx, r8
ja 0x1402ead37
and r8d, 7
lea rcx, [0x1403f9ce0]
add ax, word [rcx + r8*2]
add eax, 0xfffffff6
movzx ebp, ax
test byte [rsi + 0x64], 0x80
je 0x1402eae17
cmp r13w, 0xa
jl 0x1402eae17
cmp bp, 0xb
jge 0x1402ead7e
xor eax, eax
jmp 0x1402eadd5
movzx edx, bp
mov ax, 0x28
cmp edx, 0x100
jb 0x1402eada9
mov ax, 0x28
mov rcx, rdx
add eax, 0x28
shr rcx, 4
cmp rdx, 0xfff
mov rdx, rcx
ja 0x1402ead94
jmp 0x1402eadac
mov rcx, rdx
cmp rcx, 0x10
jb 0x1402eadc4
add eax, 0xa
mov rdx, rcx
shr rdx, 1
cmp rcx, 0x1f
mov rcx, rdx
ja 0x1402eadb2
and ecx, 7
lea rdx, [0x1403f9ce0]
add ax, word [rdx + rcx*2]
add eax, 0xffffffd5
mov rcx, qword [rsi + 0x10]
movzx ecx, word [rcx + rbx*2]
mov rdx, qword [rsp + 0xd8]
add edx, ebp
sub ecx, edx
add ecx, eax
add cx, 0xa
jns 0x1402eae17
xor edi, edi
cmp r10w, 1
jg 0x1402eb0a6
mov rax, qword [rsp + 0x58]
test byte [rax + 0x62], 2
jne 0x1402eb0a6
or byte [r15 + 0x3a], 0x10
mov rdi, qword [rsp + 0x20]
mov ecx, dword [r15 + 0x38]
or ecx, 4
mov dword [r15 + 0x38], ecx
test cl, 2
jne 0x1402eae69
mov eax, dword [r15 + 0x18]
inc eax
mov word [r15 + 0x18], ax
movzx edx, word [r12 + 0x10]
test dx, dx
jle 0x1402eae92
movzx eax, ax
mov r8, qword [rsi + 0x10]
movzx edx, word [r8 + rax*2]
sub dx, word [r8 + rax*2 - 2]
add dx, word [r15 + 0x16]
mov word [r15 + 0x16], dx
bt r14d, 8
jae 0x1402eaf4c
add edx, 0xa
jmp 0x1402eaea5
movzx edx, word [r15 + 0x16]
mov r9, qword [rsp + 0x38]
test r9, r9
je 0x1402eaeb1
movzx r8d, word [r9 + 0x10]
test r8w, r8w
jle 0x1402eaec0
lea r8d, [rdx - 0x14]
test byte [r9 + 0x12], 0x80
cmovne r8d, edx
jmp 0x1402eaec3
mov r8, qword [rsi + 8]
cmp word [r8 + rbx*2], 0
js 0x1402eae3d
sub edx, ebp
add dx, word [r15 + 0x16]
mov eax, ecx
mov r12, qword [rsp + 0x28]
jmp 0x1402eaf40
mov eax, ecx
mov r12, qword [rsp + 0x28]
xor r9d, r9d
mov r8d, edx
jmp 0x1402eaeca
add r8d, edx
mov eax, ecx
mov r12, qword [rsp + 0x28]
test r12, r12
je 0x1402eaef0
movzx ecx, word [r12 + 0x10]
test cx, cx
jle 0x1402eaeea
test byte [r12 + 0x12], 0x80
lea ecx, [r8 - 0x14]
cmovne ecx, r8d
jmp 0x1402eaeed
add ecx, r8d
mov r8d, ecx
test r9, r9
je 0x1402eaf14
test r12, r12
je 0x1402eaf14
cmp word [r9 + 0x10], 0
jle 0x1402eaf14
cmp word [r12 + 0x10], 0
lea ecx, [r8 - 0x14]
cmovle ecx, r8d
mov r8d, ecx
movsx edx, dx
cmp r12, 1
adc edx, 0xffffffff
mov qword [rsp + 0x38], r9
cmp r9, 1
adc edx, 0xffffffff
cmp r8w, 0xb
mov ecx, 0xa
cmovge ecx, r8d
movzx ecx, cx
cmp edx, ecx
cmovge edx, ecx
mov word [r15 + 0x16], dx
mov ecx, eax
mov qword [rsp + 0x28], r12
mov eax, dword [rsi + 0x64]
not eax
movzx r14d, dx
test al, 3
mov r12d, dword [rsp + 0x6c]
jne 0x1402eaf64
lea eax, [r14 + 0x10]
jmp 0x1402eaf85
movsx eax, word [rsi + 0x5c]
lea eax, [rax + rax*4]
lea eax, [rax + rax*2]
mov rdx, qword [rsp + 0x60]
mov rdx, qword [rdx + 0x20]
movsx r8d, word [rdx + 0x3c]
cdq
idiv r8d
add eax, r14d
inc eax
movsx edx, ax
cmp r13w, dx
jge 0x1402eafa4
cmp dword [rsp + 0x94], edx
jl 0x1402eaff5
cmp dword [rsp + 0x8c], edx
jge 0x1402eafdd
inc eax
jmp 0x1402eaff5
lea r8d, [rdx + 0x31]
mov eax, r13d
cmp r8d, dword [rsp + 0x70]
jl 0x1402eaff5
lea r8d, [rdx + 0x1f]
mov eax, dword [rsp + 0x90]
cmp r8d, dword [rsp + 0x70]
jl 0x1402eaff5
mov rax, qword [rsp + 0x70]
sub eax, edx
cdqe
lea rdx, str._n_n_t_t_b_b_a_a_a
movzx eax, byte [rax + rdx]
add eax, r13d
jmp 0x1402eaff5
mov eax, edx
sub eax, dword [rsp + 0x70]
cdqe
lea r8, str._n_n_t_t_b_b_a_a_a
movzx eax, byte [rax + r8]
add edx, eax
mov eax, edx
test ecx, 0x4000140
je 0x1402eb0cc
mov r8d, eax
add ebp, r10d
add r8d, ebp
mov word [r15 + 0x14], r8w
lea eax, [r14 + rbp]
mov word [r15 + 0x16], ax
mov rcx, qword [rdi + 8]
mov rdx, r15
mov r8, qword [rsp + 0x78]
call fcn.1402ea200
mov rcx, rdi
mov rdx, r15
call fcn.1402e9810
mov edi, eax
mov eax, dword [r15 + 0x38]
test al, 2
cmovne r14d, r12d
mov word [r15 + 0x16], r14w
test al, 0x10
jne 0x1402eb0a1
movzx eax, word [r15 + 0x18]
cmp ax, word [rsi + 0x60]
jae 0x1402eb0a1
cmp ax, word [rsi + 0x5e]
jb 0x1402eb065
mov ecx, dword [rsi + 0x64]
and ecx, 3
cmp ecx, 2
je 0x1402eb0a1
cmp ax, 4
jb 0x1402eb08c
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
mov eax, dword [rax + 0x188]
test eax, eax
je 0x1402eb08c
mov rax, qword [rsp + 0x50]
inc dword [rax + 0x30]
mov dword [rax + 0x18], 9
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x60]
mov r8, rsi
mov r9d, ebp
call fcn.1402ea4a0
mov word [r15 + 0x16], r12w
lea rcx, [rsp + 0xe0]
call fcn.1402e7310
test edi, edi
jne 0x1402eb2a0
mov r12, rax
test rax, rax
jne 0x1402ea7a4
jmp 0x1402eb2a0
lea r8d, [r14 + 0x10]
movsx ecx, ax
movsx edx, r8w
cmp cx, dx
jge 0x1402eb0f7
lea eax, [rcx + 0x31]
cmp eax, edx
jl 0x1402eb004
lea eax, [rcx + 0x1f]
cmp eax, edx
jge 0x1402eb114
lea r8d, [r14 + 0x11]
jmp 0x1402eb004
lea r8d, [rdx + 0x31]
cmp r8d, ecx
jl 0x1402eb001
lea r8d, [rdx + 0x1f]
cmp r8d, ecx
jge 0x1402eb12f
inc eax
jmp 0x1402eb001
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 r8d, edx
jmp 0x1402eb004
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 r8d, ecx
jmp 0x1402eb004
or eax, 0x10001
jmp 0x1402ea9ba
mov rdi, qword [rsp + 0x20]
mov ecx, dword [r15 + 0x38]
test r14b, 0x24
je 0x1402eb185
or ecx, 0x22
mov dword [r15 + 0x38], ecx
mov word [r15 + 0x1a], bp
xor ebp, ebp
test byte [r12 + 0x13], 1
jne 0x1402eb1a7
xor eax, eax
mov qword [rsp + 0x28], rax
jmp 0x1402eb293
mov eax, ecx
or eax, 0x12
mov dword [r15 + 0x38], eax
mov word [r15 + 0x1c], bp
test cl, 0x20
jne 0x1402eb1bc
movzx edx, word [r15 + 0x16]
xor r9d, r9d
xor ebp, ebp
jmp 0x1402eaebb
movzx eax, word [r15 + 0x3c]
cmp ax, word [r15 + 0x40]
jae 0x1402eb1e0
mov r8, qword [r15 + 0x48]
jmp 0x1402eb265
mov rcx, qword [r15 + 0x48]
movzx edx, word [r15 + 0x3c]
mov rcx, qword [rcx + rdx*8 - 0x10]
mov qword [rsp + 0x38], rcx
xor ebp, ebp
mov ecx, eax
mov rax, r12
mov qword [rsp + 0x28], r12
jmp 0x1402eae22
xor edi, edi
mov rcx, qword [rsp + 0x58]
cmp byte [rcx + 0x67], 0
jne 0x1402eb2a0
movzx eax, ax
add eax, 8
and eax, 0xfffffff8
mov qword [rsp + 0x28], rax
lea rdx, [rax*8]
call fcn.140252670
test rax, rax
je 0x1402eb2a0
mov rdx, qword [r15 + 0x48]
movzx r8d, word [r15 + 0x40]
shl r8, 3
mov rdi, rax
mov rcx, rax
call fcn.140336540
mov rdx, qword [r15 + 0x48]
cmp rdx, qword [rsp + 0xa0]
je 0x1402eb245
mov rcx, qword [rsp + 0x58]
call fcn.140252440
mov r8, rdi
mov qword [r15 + 0x48], rdi
mov rax, qword [rsp + 0x28]
mov word [r15 + 0x40], ax
movzx eax, word [r15 + 0x3c]
mov rdi, qword [rsp + 0x20]
mov r10, qword [rsp + 0x40]
lea rdx, [r12 + 0x38]
lea ecx, [rax + 1]
mov word [r15 + 0x3c], cx
movzx eax, ax
mov rcx, rdx
mov qword [rsp + 0x28], rdx
mov qword [r8 + rax*8], rdx
mov ecx, dword [r15 + 0x38]
or ecx, 0x10
mov dword [r15 + 0x38], ecx
mov word [r15 + 0x1c], 1
mov rax, r12
mov qword [rsp + 0x38], r12
jmp 0x1402eae22
mov rax, qword [rsp + 0xb8]
mov qword [r15], rax
movzx ebp, word [rsp + 0x36]
mov word [r15 + 0x18], bp
movzx eax, word [rsp + 0x32]
mov word [r15 + 0x1a], ax
movzx eax, word [rsp + 0x30]
mov word [r15 + 0x1c], ax
movzx ecx, word [rsp + 0x4e]
mov word [r15 + 0x3e], cx
mov eax, dword [rsp + 0x48]
mov dword [r15 + 0x38], eax
mov r12d, dword [rsp + 0x6c]
mov word [r15 + 0x16], r12w
movzx edx, word [rsp + 0x34]
mov word [r15 + 0x3c], dx
cmp bp, cx
jne 0x1402eb3d4
lea eax, [rbx + 1]
movzx ecx, word [rsi + 0x5e]
cmp eax, ecx
jae 0x1402eb3d4
cmp bp, dx
jne 0x1402eb3d4
mov eax, 0xc0
and eax, dword [rsi + 0x64]
cmp eax, 0x80
jne 0x1402eb3d4
mov r13, qword [rsp + 0x58]
test byte [r13 + 0x61], 0x40
jne 0x1402eb3d4
mov rax, qword [rsi + 0x10]
cmp word [rax + rbx*2 + 2], 0x2a
jl 0x1402eb3d4
cmp bp, word [r15 + 0x40]
jae 0x1402eb3c8
mov r14, qword [r15 + 0x48]
mov eax, ebp
mov r8d, ebp
mov edx, ebp
mov rcx, qword [rsp + 0x20]
inc edx
mov word [r15 + 0x18], dx
inc r8d
mov word [r15 + 0x3e], r8w
lea edx, [rax + 1]
mov word [r15 + 0x3c], dx
movzx eax, ax
mov qword [r14 + rax*8], 0
or byte [r15 + 0x39], 0x80
mov rax, qword [rsi + 0x10]
movzx edx, word [rax + rbx*2]
sub dx, word [rax + rbx*2 + 2]
sub word [r15 + 0x16], dx
mov rax, qword [rsp + 0x40]
lea r9d, [rax + rdx]
add r9d, 5
mov rdx, qword [rsp + 0x60]
mov r8, rsi
call fcn.1402ea4a0
mov word [r15 + 0x16], r12w
mov word [r15 + 0x18], bp
mov word [r15 + 0x3e], bp
mov eax, dword [rsp + 0x48]
mov dword [r15 + 0x38], eax
xor edi, edi
jmp 0x1402eb3d4
mov edi, 7
cmp byte [r13 + 0x67], 0
je 0x1402eb3fa
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.140334bf0
mov eax, edi
add rsp, 0x158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, r13
mov rdx, qword [rsp + 0xb0]
call fcn.140252670
test rax, rax
je 0x1402eb3d4
mov r14, rax
mov rdx, qword [r15 + 0x48]
movzx r8d, word [r15 + 0x40]
shl r8, 3
mov rcx, rax
call fcn.140336540
mov rdx, qword [r15 + 0x48]
lea rax, [r15 + 0x58]
cmp rdx, rax
je 0x1402eb43c
mov rcx, r13
call fcn.140252440
mov qword [r15 + 0x48], r14
mov rax, qword [rsp + 0xa8]
mov word [r15 + 0x40], ax
movzx edx, word [r15 + 0x18]
movzx eax, word [r15 + 0x3c]
movzx r8d, word [r15 + 0x3e]
jmp 0x1402eb355