Function at 0x1401eea40
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, 0xe8
mov r13, r9
mov r9d, r8d
mov r10d, edx
mov r14, rcx
mov r12, qword [rsp + 0x150]
mov rax, qword [0x14039de68]
xor rax, rsp
mov qword [rsp + 0xe0], rax
lea rax, vtable.icu_68::UnicodeString.0
mov qword [rsp + 0xa0], rax
mov word [rsp + 0xa8], 2
movzx eax, word [rcx + 0xa]
cmp ax, 0x7f
jbe 0x1401eeaaf
movzx ecx, ax
mov r15b, 0xe0
cmp ecx, 0x7ff
ja 0x1401eeab2
shr eax, 6
or al, 0xc0
mov r15d, eax
mov rbp, qword [rsp + 0x168]
mov r11, qword [rsp + 0x160]
cmp r13, r12
je 0x1401efaa6
mov dword [rsp + 0x4c], eax
mov rcx, r13
mov qword [rsp + 0x40], rcx
mov rdi, r13
jmp 0x1401eeaec
mov rdi, rsi
cmp rsi, r12
je 0x1401efa9f
movzx eax, byte [rdi]
lea rsi, [rdi + 1]
cmp al, r15b
jb 0x1401eeae0
test al, al
js 0x1401eeb04
mov r13, rsi
jmp 0x1401eec7d
mov r13, r12
cmp rsi, r12
je 0x1401eec74
cmp al, 0xe0
jb 0x1401eeb99
cmp al, 0xef
ja 0x1401eebd2
and eax, 0xf
lea rcx, str._000000000000
movzx ecx, byte [rax + rcx]
movzx edx, byte [rsi]
mov r8d, edx
shr r8d, 5
bt ecx, r8d
mov r13, rsi
jae 0x1401eec74
lea rcx, [rdi + 2]
mov r13, r12
cmp rcx, r12
je 0x1401eec74
movzx r8d, byte [rcx]
xor r8d, 0x80
cmp r8b, 0x3f
ja 0x1401eec71
mov ebx, r10d
mov r10d, r9d
mov r9, qword [r14 + 0x20]
mov r9, qword [r9]
and edx, 0x3f
shl eax, 7
lea eax, [rax + rdx*2]
movzx eax, word [r9 + rax]
mov r9d, r10d
mov r10d, ebx
add eax, r8d
inc rcx
mov r13, rcx
jmp 0x1401eec7d
mov r13, rsi
cmp al, 0xc2
jb 0x1401eec74
movzx ecx, byte [rsi]
xor ecx, 0x80
mov r13, rsi
cmp cl, 0x3f
ja 0x1401eec74
mov rdx, qword [r14 + 0x20]
mov rdx, qword [rdx]
and eax, 0x1f
movzx eax, word [rdx + rax*2]
add eax, ecx
lea r13, [rsi + 1]
jmp 0x1401eec7d
mov r13, rsi
cmp al, 0xf4
ja 0x1401eec74
add eax, 0xffffff10
movzx edx, byte [rsi]
mov ecx, edx
shr ecx, 4
lea r8, [0x14032f038]
movsx ecx, byte [rcx + r8]
bt ecx, eax
mov r13, rsi
jae 0x1401eec74
lea rcx, [rdi + 2]
mov r13, r12
cmp rcx, r12
je 0x1401eec74
movzx r8d, byte [rcx]
add r8b, 0x80
mov r13, rcx
cmp r8b, 0x3f
ja 0x1401eec74
lea rbx, [rdi + 3]
mov r13, r12
cmp rbx, r12
je 0x1401eec74
mov byte [rsp + 0x3b], r9b
mov dword [rsp + 0x3c], r10d
movzx r9d, byte [rbx]
add r9b, 0x80
cmp r9b, 0x3f
ja 0x1401eec9a
shl eax, 6
and edx, 0x3f
or edx, eax
mov rcx, qword [r14 + 0x20]
movzx eax, word [rcx + 0x1c]
cmp edx, eax
jae 0x1401eecaa
mov r13, r11
call fcn.1402003f0
mov r11, r13
movzx r9d, byte [rsp + 0x3b]
inc rbx
mov r13, rbx
mov r10d, dword [rsp + 0x3c]
jmp 0x1401eec7d
mov r13, rcx
mov rax, qword [r14 + 0x20]
mov eax, dword [rax + 0x14]
dec eax
mov rcx, qword [r14 + 0x20]
mov rcx, qword [rcx + 8]
cdqe
movzx ebx, word [rcx + rax*2]
cmp word [r14 + 0x12], bx
jbe 0x1401eecd0
mov rsi, r13
jmp 0x1401eeae0
mov r13, rbx
mov r10d, dword [rsp + 0x3c]
movzx r9d, byte [rsp + 0x3b]
jmp 0x1401eec74
mov eax, dword [rcx + 0x14]
add eax, 0xfffffffe
inc rbx
mov r13, rbx
mov r10d, dword [rsp + 0x3c]
movzx r9d, byte [rsp + 0x3b]
jmp 0x1401eec7d
cmp word [r14 + 0x1e], bx
mov dword [rsp + 0x3c], r10d
mov byte [rsp + 0x3b], r9b
jbe 0x1401eed48
cmp qword [rsp + 0x158], 0
je 0x1401efb47
cmp word [r14 + 0x1a], bx
jbe 0x1401eef16
cmp bx, word [r14 + 0x14]
mov rcx, qword [rsp + 0x40]
jae 0x1401ef061
test bl, 1
jne 0x1401ef1a6
mov rcx, r14
mov rdx, r13
mov r8, r12
mov esi, r9d
mov rbp, r11
call fcn.1401efb50
mov r11, rbp
mov rbp, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x40]
test al, al
jne 0x1401ef1cf
mov r9d, esi
jmp 0x1401ef744
cmp ebx, 0xfe00
jne 0x1401eee34
mov rax, rdi
sub rax, qword [rsp + 0x40]
mov r8d, 0xffffffff
cmp rax, 3
jl 0x1401eedab
movzx eax, byte [rdi - 3]
lea ecx, [rax + 0x1f]
cmp cl, 0xc
ja 0x1401eedab
movzx ecx, byte [rdi - 2]
xor ecx, 0x80
cmp cl, 0x3f
ja 0x1401eedab
movzx edx, byte [rdi - 1]
xor edx, 0x80
cmp dl, 0x3f
ja 0x1401eedab
cmp al, 0xed
jb 0x1401eed9b
cmp cl, 0x1f
ja 0x1401eedab
and eax, 0xf
shl eax, 0xc
shl ecx, 6
or ecx, eax
or ecx, edx
mov r8d, ecx
movzx eax, byte [rsi]
cmp eax, 0x85
jne 0x1401eefbe
add r8d, 0xffffef00
cmp r8d, 0x12
mov rcx, qword [rsp + 0x40]
ja 0x1401ef744
cmp qword [rsp + 0x158], 0
je 0x1401efb47
mov qword [rsp + 0x50], r8
mov rax, r12
sub rax, r13
cmp rax, 3
jl 0x1401ef3a4
cmp byte [r13], 0xe1
jne 0x1401ef3a4
movzx eax, byte [r13 + 1]
cmp eax, 0x87
je 0x1401ef38d
cmp eax, 0x86
jne 0x1401ef3a4
movzx edx, byte [r13 + 2]
lea eax, [rdx + 0x40]
cmp al, 0xe8
jb 0x1401ef3a4
add edx, 0xffffff59
jmp 0x1401ef39a
cmp ebx, 0xfe01
jb 0x1401ef194
mov esi, ebx
shr esi, 1
test r9b, r9b
je 0x1401ef560
mov rcx, qword [rsp + 0x40]
cmp rcx, rdi
je 0x1401ef560
mov eax, edi
sub eax, ecx
cdqe
lea rdx, [rax - 1]
mov dword [rsp + 0x60], edx
movzx eax, byte [rcx + rax - 1]
test al, al
jns 0x1401eee92
mov byte [rsp + 0x20], 0xff
xor edx, edx
lea r8, [rsp + 0x60]
mov r9d, eax
mov rbp, r11
call fcn.14022a1d0
mov r11, rbp
movzx r9d, byte [rsp + 0x3b]
movzx ecx, word [r14 + 8]
cmp eax, ecx
jl 0x1401ef560
cmp eax, 0xffff
ja 0x1401eeed2
mov rcx, qword [r14 + 0x38]
mov edx, eax
shr edx, 8
movzx edx, byte [rcx + rdx]
mov ecx, eax
shr cl, 5
mov r8d, 1
shl r8d, cl
test edx, edx
je 0x1401ef560
and r8d, edx
je 0x1401ef560
mov rcx, r14
mov edx, eax
call fcn.1401efd00
cmp al, sil
jbe 0x1401ef2cb
mov rbp, qword [rsp + 0x158]
test rbp, rbp
movzx r9d, byte [rsp + 0x3b]
mov r11, qword [rsp + 0x160]
mov rbp, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x40]
jne 0x1401ef744
jmp 0x1401efb47
test bl, 1
je 0x1401eef2b
test r9b, r9b
je 0x1401eef4a
mov eax, ebx
and eax, 6
cmp ax, 3
jb 0x1401eef4a
mov rcx, r14
mov rdx, r13
mov r8, r12
mov esi, r9d
mov rbp, r11
call fcn.1401efb50
mov r11, rbp
test al, al
je 0x1401ef189
mov rcx, qword [rsp + 0x40]
cmp rcx, rdi
je 0x1401eef89
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r11
mov rdx, rdi
mov r8, qword [rsp + 0x158]
mov r9d, dword [rsp + 0x3c]
mov rbp, r11
call fcn.1401d8dc0
mov r11, rbp
test al, al
je 0x1401efb4b
shr ebx, 3
movzx eax, word [r14 + 0x1c]
sub ebx, eax
mov edx, r13d
sub edx, edi
cmp edx, 1
jne 0x1401ef11d
add bl, byte [rdi]
mov byte [rsp + 0x60], bl
mov edi, 1
mov rbp, qword [rsp + 0x168]
mov r8d, dword [rsp + 0x3c]
jmp 0x1401ef34a
lea ecx, [r8 - 0xac00]
cmp ecx, 0x2ba3
mov rsi, qword [rsp + 0x40]
ja 0x1401ef19e
mov qword [rsp + 0x50], r8
movzx edx, cx
shr edx, 2
imul edx, edx, 0x4925
shr edx, 0x11
lea r8d, [rdx + rdx*8]
lea r8d, [r8 + r8*2]
add r8d, edx
sub ecx, r8d
test cx, cx
jne 0x1401ef19e
cmp qword [rsp + 0x158], 0
je 0x1401efb47
mov rcx, r13
sub rcx, rdi
cmp rcx, 3
mov rcx, rsi
mov rdx, qword [rsp + 0x50]
jl 0x1401ef468
cmp byte [rdi], 0xe1
jne 0x1401ef468
cmp eax, 0x87
je 0x1401ef45b
cmp eax, 0x86
jne 0x1401ef468
movzx ebx, byte [rdi + 2]
lea eax, [rbx + 0x40]
cmp al, 0xe8
jb 0x1401ef468
add ebx, 0xffffff59
jmp 0x1401ef46d
cmp bx, word [r14 + 0x18]
jb 0x1401ef744
mov rcx, r14
mov rdx, r13
mov r8, r12
mov esi, r10d
call fcn.1401efb50
mov r10d, esi
mov r11, qword [rsp + 0x160]
test al, al
jne 0x1401ef4e2
cmp qword [rsp + 0x40], rdi
je 0x1401ef4e2
movzx eax, byte [rdi - 1]
test al, al
jns 0x1401ef0c5
lea r9, [rdi - 1]
mov rcx, qword [r14 + 0x20]
mov edx, eax
mov r8, qword [rsp + 0x40]
call fcn.1402004a0
mov r10d, esi
mov r11, qword [rsp + 0x160]
sar eax, 3
mov rcx, qword [r14 + 0x20]
mov rcx, qword [rcx + 8]
cdqe
movzx eax, word [rcx + rax*2]
test al, 1
movzx r9d, byte [rsp + 0x3b]
je 0x1401ef194
test r9b, r9b
je 0x1401ef4e2
cmp ax, 1
je 0x1401ef4e2
cmp word [r14 + 0x1a], ax
jbe 0x1401ef4d5
mov rcx, qword [r14 + 0x30]
and eax, 0xfffffffe
movzx eax, word [rcx + rax]
cmp eax, 0x1ff
jbe 0x1401ef4e2
movzx r9d, byte [rsp + 0x3b]
jmp 0x1401ef194
mov dword [rsp + 0x40], edx
movzx esi, byte [r13 - 1]
add esi, ebx
mov eax, esi
and eax, 0xffffffc0
cmp eax, 0x80
jne 0x1401ef25f
lea rax, [r13 - 1]
lea rbx, [rdi + 1]
cmp rax, rbx
cmova rbx, rax
mov rbp, rbx
sub rbp, rdi
lea rcx, [rsp + 0x60]
mov rdx, rdi
mov r8, rbp
call fcn.14025caa0
not edi
add edi, ebx
add edi, 2
mov eax, ebp
mov r8d, dword [rsp + 0x3c]
mov byte [rsp + rax + 0x60], sil
mov r11, qword [rsp + 0x160]
mov rbp, qword [rsp + 0x168]
mov edx, dword [rsp + 0x40]
jmp 0x1401ef34a
mov r9d, esi
mov rbp, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x40]
jmp 0x1401ef744
mov rcx, rsi
jmp 0x1401ef744
test r9b, r9b
je 0x1401ef1cf
cmp bx, 1
je 0x1401ef1cf
mov rax, qword [r14 + 0x30]
mov rdx, rcx
mov ecx, ebx
and ecx, 0xfffffffe
movzx eax, word [rax + rcx]
mov rcx, rdx
cmp eax, 0x200
jae 0x1401eed14
cmp rcx, rdi
mov r10, qword [rsp + 0x158]
je 0x1401ef20c
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], r11
mov rdx, rdi
mov r8, r10
mov r9d, dword [rsp + 0x3c]
mov rsi, r11
call fcn.1401d8dc0
mov r10, qword [rsp + 0x158]
mov r11, rsi
test al, al
je 0x1401efb4b
mov rax, qword [r14 + 0x30]
and ebx, 0xfffffffe
lea r8, [rax + rbx]
add r8, 2
movzx r9d, word [rax + rbx]
and r9d, 0x1f
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], r11
mov qword [rsp + 0x20], r10
mov rcx, rdi
mov rdx, r13
mov rsi, r11
call fcn.1401d8c80
mov r11, rsi
mov rcx, r13
test al, al
movzx r9d, byte [rsp + 0x3b]
mov r10d, dword [rsp + 0x3c]
jne 0x1401ef8b0
jmp 0x1401efb4b
mov rcx, rdi
mov rdx, r13
call fcn.1401ebed0
add eax, ebx
cmp eax, 0x7f
ja 0x1401ef298
mov byte [rsp + 0x60], al
mov edi, 1
mov r11, qword [rsp + 0x160]
mov rbp, qword [rsp + 0x168]
mov r8d, dword [rsp + 0x3c]
mov edx, dword [rsp + 0x40]
jmp 0x1401ef34a
mov ecx, eax
cmp eax, 0x7ff
ja 0x1401ef2de
shr ecx, 6
or cl, 0xc0
mov byte [rsp + 0x60], cl
mov edi, 1
mov r11, qword [rsp + 0x160]
mov rbp, qword [rsp + 0x168]
mov r8d, dword [rsp + 0x3c]
mov edx, dword [rsp + 0x40]
jmp 0x1401ef33e
movzx r9d, byte [rsp + 0x3b]
mov r11, qword [rsp + 0x160]
jmp 0x1401ef560
cmp eax, 0xffff
ja 0x1401ef2f2
shr ecx, 0xc
or cl, 0xe0
mov edi, 1
jmp 0x1401ef30c
shr ecx, 0x12
or cl, 0xf0
mov edx, eax
shr edx, 0xc
and dl, 0x3f
or dl, 0x80
mov byte [rsp + 0x61], dl
mov edi, 2
mov r11, qword [rsp + 0x160]
mov rbp, qword [rsp + 0x168]
mov r8d, dword [rsp + 0x3c]
mov edx, dword [rsp + 0x40]
mov byte [rsp + 0x60], cl
mov ecx, eax
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov r9d, edi
inc edi
mov byte [rsp + r9 + 0x60], cl
and al, 0x3f
or al, 0x80
mov ecx, edi
inc edi
mov byte [rsp + rcx + 0x60], al
mov ebx, r8d
test r11, r11
mov rsi, r11
je 0x1401ef360
mov rcx, rsi
mov r8d, edi
call fcn.1401ddf80
mov rcx, qword [rsp + 0x158]
mov rax, qword [rcx]
lea rdx, [rsp + 0x60]
mov r8d, edi
call qword [rax + htons]
mov rax, r13
movzx r9d, byte [rsp + 0x3b]
mov r11, rsi
mov rcx, r13
mov r10d, ebx
jmp 0x1401ef8b0
movzx edx, byte [r13 + 2]
cmp dl, 0x82
jg 0x1401ef3a4
add edx, 0xffffff99
test edx, edx
js 0x1401ef3a4
add r13, 3
jmp 0x1401ef3db
mov rcx, r14
mov rdx, r13
mov r8, r12
mov rbp, r11
mov esi, r10d
call fcn.1401efb50
mov r10d, esi
mov rcx, qword [rsp + 0x40]
mov r11, rbp
mov rbp, qword [rsp + 0x168]
movzx r9d, byte [rsp + 0x3b]
xor edx, edx
test al, al
je 0x1401ef744
movzx r9d, byte [rdi + 2]
add rdi, 0xfffffffffffffffd
cmp rcx, rdi
mov r8, qword [rsp + 0x158]
je 0x1401ef436
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], r11
mov qword [rsp + 0x40], rdx
mov rdx, rdi
mov ebx, r10d
mov dword [rsp + 0x5c], r9d
mov r9d, r10d
mov rsi, r11
call fcn.1401d8dc0
mov r9d, dword [rsp + 0x5c]
mov r8, qword [rsp + 0x158]
mov rdx, qword [rsp + 0x40]
mov r10d, ebx
mov r11, rsi
test al, al
je 0x1401efb4b
mov rcx, qword [rsp + 0x50]
lea eax, [rcx + rcx*4]
lea eax, [rcx + rax*4]
add eax, r9d
lea ecx, [rax + rax*8]
lea ecx, [rcx + rcx*2]
add ecx, eax
add edx, ecx
add edx, 0x9a64
mov ecx, r13d
sub ecx, edi
jmp 0x1401ef4bf
movzx ebx, byte [rdi + 2]
cmp bl, 0x83
jl 0x1401ef54a
mov ebx, 0xffffffff
add rdi, 0xfffffffffffffffd
cmp rcx, rdi
mov r8, qword [rsp + 0x158]
je 0x1401ef4b6
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], r11
mov rdx, rdi
mov esi, r10d
mov r9d, r10d
call fcn.1401d8dc0
mov r8, qword [rsp + 0x158]
mov rdx, qword [rsp + 0x50]
mov r10d, esi
mov r11, qword [rsp + 0x160]
test al, al
je 0x1401efb4b
add ebx, edx
mov ecx, r13d
sub ecx, edi
mov edx, ebx
mov edi, r10d
mov r9, r11
mov rsi, r11
call fcn.1401d8cd0
mov r10d, edi
mov r11, rsi
jmp 0x1401ef53c
and eax, 6
cmp ax, 3
jae 0x1401ef115
mov rcx, qword [rsp + 0x40]
cmp rcx, rdi
je 0x1401ef51c
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], r11
mov rdx, rdi
mov r8, qword [rsp + 0x158]
mov r9d, esi
call fcn.1401d8dc0
mov r10d, esi
mov r11, qword [rsp + 0x160]
test al, al
je 0x1401efb4b
test r11, r11
je 0x1401ef53c
mov edx, r13d
sub edx, edi
mov rcx, r11
xor r8d, r8d
call fcn.1401ddf80
mov r10d, esi
mov r11, qword [rsp + 0x160]
mov rcx, r13
movzx r9d, byte [rsp + 0x3b]
jmp 0x1401ef8b0
add ebx, 0xffffff99
jmp 0x1401ef46d
mov eax, dword [rcx + 0x14]
add eax, 0xfffffffe
jmp 0x1401ef624
cmp r13, r12
je 0x1401efb06
mov rbp, r13
inc r13
movzx eax, byte [rbp]
test al, al
jns 0x1401ef6d1
mov r10d, r9d
mov rcx, r12
cmp r13, r12
je 0x1401ef6c2
cmp al, 0xe0
jb 0x1401ef5f8
cmp al, 0xef
ja 0x1401ef62c
and eax, 0xf
lea rcx, str._000000000000
movzx ecx, byte [rax + rcx]
movzx edx, byte [r13]
mov r8d, edx
shr r8d, 5
bt ecx, r8d
mov rcx, r13
jae 0x1401ef6c2
lea r13, [rbp + 2]
mov rcx, r12
cmp r13, r12
je 0x1401ef6c2
movzx ecx, byte [r13]
xor ecx, 0x80
cmp cl, 0x3f
ja 0x1401ef6bf
mov r8, qword [r14 + 0x20]
mov r8, qword [r8]
and edx, 0x3f
shl eax, 7
lea eax, [rax + rdx*2]
movzx eax, word [r8 + rax]
jmp 0x1401ef622
cmp al, 0xc2
jb 0x1401ef6bf
movzx ecx, byte [r13]
xor ecx, 0x80
cmp cl, 0x3f
ja 0x1401ef6bf
mov rdx, qword [r14 + 0x20]
mov rdx, qword [rdx]
and eax, 0x1f
movzx eax, word [rdx + rax*2]
add eax, ecx
inc r13
jmp 0x1401ef6ce
cmp al, 0xf4
ja 0x1401ef6bf
add eax, 0xffffff10
movzx edx, byte [r13]
mov ecx, edx
shr ecx, 4
lea r8, [0x14032f038]
movsx ecx, byte [rcx + r8]
bt ecx, eax
mov rcx, r13
jae 0x1401ef6c2
lea r9, [rbp + 2]
mov rcx, r12
cmp r9, r12
je 0x1401ef6c2
movzx r8d, byte [r9]
add r8b, 0x80
mov rcx, r9
cmp r8b, 0x3f
ja 0x1401ef6c2
lea r13, [rbp + 3]
mov rcx, r12
cmp r13, r12
je 0x1401ef6c2
movzx r9d, byte [r13]
add r9b, 0x80
cmp r9b, 0x3f
ja 0x1401ef6bf
shl eax, 6
and edx, 0x3f
or edx, eax
mov rcx, qword [r14 + 0x20]
movzx eax, word [rcx + 0x1c]
cmp edx, eax
jae 0x1401ef552
call fcn.1402003f0
mov r11, qword [rsp + 0x160]
movzx r9d, byte [rsp + 0x3b]
inc r13
jmp 0x1401ef6d1
mov rcx, r13
mov rax, qword [r14 + 0x20]
mov eax, dword [rax + 0x14]
dec eax
mov r13, rcx
mov r9d, r10d
mov rcx, qword [r14 + 0x20]
mov rcx, qword [rcx + 8]
cdqe
movzx eax, word [rcx + rax*2]
cmp eax, 0xfe02
jb 0x1401ef704
mov ecx, eax
shr ecx, 1
cmp sil, cl
mov esi, ecx
jbe 0x1401ef560
cmp qword [rsp + 0x158], 0
je 0x1401efb47
cmp word [r14 + 0x16], ax
mov rcx, qword [rsp + 0x40]
ja 0x1401ef71e
cmp word [r14 + 0x1a], ax
ja 0x1401ef739
cmp word [r14 + 0x1e], ax
jbe 0x1401ef739
cmp word [r14 + 0x12], ax
cmovbe r13, rbp
mov r10d, dword [rsp + 0x3c]
mov rbp, qword [rsp + 0x168]
jmp 0x1401ef8b0
mov r13, rbp
mov rbp, qword [rsp + 0x168]
cmp rcx, rdi
je 0x1401ef769
cmp word [r14 + 0x16], bx
ja 0x1401ef769
mov esi, r9d
cmp word [r14 + 0x1a], bx
ja 0x1401ef8be
cmp word [r14 + 0x1e], bx
jbe 0x1401ef8be
mov rbx, r11
mov qword [rsp + 0x60], r14
lea rcx, [rsp + 0xa0]
mov qword [rsp + 0x68], rcx
mov edx, 8
call fcn.14021cd50
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x68]
movzx r8d, word [rcx + 8]
mov edx, 0x1b
test r8b, 2
jne 0x1401ef7b2
mov edx, dword [rcx + 0x10]
mov dword [rsp + 0x88], edx
mov byte [rsp + 0x8c], 0
mov ecx, dword [rbp]
test rax, rax
movzx r9d, byte [rsp + 0x3b]
mov r11, rbx
jne 0x1401ef7ec
test ecx, ecx
jg 0x1401ef7ec
mov dword [rbp], 7
mov ebx, 2
mov rcx, qword [rsp + 0x40]
jmp 0x1401ef86f
mov ebx, 2
test ecx, ecx
mov rcx, qword [rsp + 0x40]
jg 0x1401ef86f
mov qword [rsp + 0x30], rbp
lea rbx, [rsp + 0x60]
mov qword [rsp + 0x28], rbx
mov byte [rsp + 0x20], r9b
mov rcx, r14
mov rdx, rdi
mov r8, r13
mov esi, r9d
xor r9d, r9d
call fcn.1401eb9a0
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rbx
mov byte [rsp + 0x20], sil
mov rcx, r14
mov rdx, r13
mov r8, r12
mov r9b, 1
call fcn.1401eb9a0
mov r13, rax
cmp dword [rbp], 0
jle 0x1401ef94d
movzx r9d, byte [rsp + 0x3b]
mov r11, qword [rsp + 0x160]
mov rbp, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x40]
mov ebx, 2
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x1401ef8a3
mov rsi, rcx
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x80]
sub rdx, rax
shr rdx, 1
mov rdi, r11
call fcn.14021cdb0
mov rcx, rsi
mov r11, rdi
movzx r9d, byte [rsp + 0x3b]
test ebx, ebx
jne 0x1401efb37
mov r10d, dword [rsp + 0x3c]
cmp r13, r12
jne 0x1401eead2
jmp 0x1401efaa9
mov r8, rcx
lea r9, [rdi - 1]
movzx eax, byte [rdi - 1]
mov rcx, qword [r14 + 0x20]
test al, al
jns 0x1401ef8fd
mov edx, eax
mov qword [rsp + 0x50], r9
mov rbx, rbp
mov rbp, r11
call fcn.1402004a0
mov r11, rbp
mov rbp, rbx
mov r9, qword [rsp + 0x50]
mov ecx, eax
and ecx, 7
sub r9, rcx
sar eax, 3
mov rcx, qword [r14 + 0x20]
mov rbx, r11
mov rcx, qword [rcx + 8]
cdqe
movzx eax, word [rcx + rax*2]
test al, 1
jne 0x1401ef916
mov rdi, r9
jmp 0x1401ef76c
test sil, sil
je 0x1401ef76c
cmp ax, 1
je 0x1401ef76c
cmp word [r14 + 0x1a], ax
jbe 0x1401ef9c1
mov rcx, qword [r14 + 0x30]
and eax, 0xfffe
movzx eax, word [rcx + rax]
cmp eax, 0x200
jae 0x1401ef90e
jmp 0x1401ef76c
mov rax, r13
sub rax, rdi
mov ecx, 0x80000000
cmp rax, rcx
jl 0x1401ef979
mov rbp, qword [rsp + 0x168]
mov dword [rbp], 8
mov al, 1
mov dword [rsp + 0x4c], eax
mov ebx, 1
jmp 0x1401ef9ae
mov rcx, r14
lea rsi, [rsp + 0x60]
mov rdx, rsi
xor r8d, r8d
movzx r9d, byte [rsp + 0x3b]
call fcn.1401ec900
mov rcx, rsi
mov rdx, rdi
mov r8, r13
call fcn.1401ea330
test al, al
mov rbp, qword [rsp + 0x168]
je 0x1401ef9d3
xor ebx, ebx
movzx r9d, byte [rsp + 0x3b]
mov r11, qword [rsp + 0x160]
jmp 0x1401ef7e2
and eax, 6
cmp ax, 3
jae 0x1401ef90e
jmp 0x1401ef76c
cmp qword [rsp + 0x158], 0
mov r11, qword [rsp + 0x160]
mov rcx, qword [rsp + 0x40]
je 0x1401efa77
cmp rcx, rdi
je 0x1401efa25
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], r11
mov rsi, rcx
mov rdx, rdi
mov r8, qword [rsp + 0x158]
mov r9d, dword [rsp + 0x3c]
call fcn.1401d8dc0
mov rcx, rsi
mov r11, qword [rsp + 0x160]
test al, al
je 0x1401efa8f
mov r8, qword [rsp + 0x70]
mov r9, qword [rsp + 0x80]
sub r9, r8
shr r9, 1
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], r11
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x20], rax
mov rsi, rcx
mov rcx, rdi
mov rdx, r13
call fcn.1401d8c80
mov rcx, rsi
mov r11, qword [rsp + 0x160]
xor ebx, ebx
test al, al
sete bl
cmovne rcx, r13
add ebx, ebx
jmp 0x1401efa84
mov ebx, 1
mov dword [rsp + 0x4c], 0
movzx r9d, byte [rsp + 0x3b]
jmp 0x1401ef86f
movzx r9d, byte [rsp + 0x3b]
mov ebx, 2
jmp 0x1401ef86f
mov rcx, qword [rsp + 0x40]
jmp 0x1401efaa9
mov rcx, r13
mov dil, 1
mov r8, qword [rsp + 0x158]
test r8, r8
je 0x1401efad3
cmp rcx, r12
je 0x1401efad3
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], r11
mov rdx, r12
mov r9d, r10d
call fcn.1401d8dc0
lea rcx, [rsp + 0xa0]
call fcn.14021bf00
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.140259980
mov eax, edi
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov dil, 1
mov r8, qword [rsp + 0x158]
test r8, r8
je 0x1401efad3
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r11
mov rcx, qword [rsp + 0x40]
mov rdx, r12
mov r9d, dword [rsp + 0x3c]
jmp 0x1401eface
mov dil, 1
cmp ebx, 2
mov eax, dword [rsp + 0x4c]
je 0x1401efad3
mov edi, eax
jmp 0x1401efad3
xor edi, edi
jmp 0x1401efad3
mov dil, 1
jmp 0x1401efad3