Function at 0x1401e1970
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 [0x14039ce38]
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 0x1401e19df
movzx ecx, ax
mov r15b, 0xe0
cmp ecx, 0x7ff
ja 0x1401e19e2
shr eax, 6
or al, 0xc0
mov r15d, eax
mov rbp, qword [rsp + 0x168]
mov r11, qword [rsp + 0x160]
cmp r13, r12
je 0x1401e29d6
mov dword [rsp + 0x4c], eax
mov rcx, r13
mov qword [rsp + 0x40], rcx
mov rdi, r13
jmp 0x1401e1a1c
mov rdi, rsi
cmp rsi, r12
je 0x1401e29cf
movzx eax, byte [rdi]
lea rsi, [rdi + 1]
cmp al, r15b
jb 0x1401e1a10
test al, al
js 0x1401e1a34
mov r13, rsi
jmp 0x1401e1bad
mov r13, r12
cmp rsi, r12
je 0x1401e1ba4
cmp al, 0xe0
jb 0x1401e1ac9
cmp al, 0xef
ja 0x1401e1b02
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 0x1401e1ba4
lea rcx, [rdi + 2]
mov r13, r12
cmp rcx, r12
je 0x1401e1ba4
movzx r8d, byte [rcx]
xor r8d, 0x80
cmp r8b, 0x3f
ja 0x1401e1ba1
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 0x1401e1bad
mov r13, rsi
cmp al, 0xc2
jb 0x1401e1ba4
movzx ecx, byte [rsi]
xor ecx, 0x80
mov r13, rsi
cmp cl, 0x3f
ja 0x1401e1ba4
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 0x1401e1bad
mov r13, rsi
cmp al, 0xf4
ja 0x1401e1ba4
add eax, 0xffffff10
movzx edx, byte [rsi]
mov ecx, edx
shr ecx, 4
lea r8, [0x1402f80f8]
movsx ecx, byte [rcx + r8]
bt ecx, eax
mov r13, rsi
jae 0x1401e1ba4
lea rcx, [rdi + 2]
mov r13, r12
cmp rcx, r12
je 0x1401e1ba4
movzx r8d, byte [rcx]
add r8b, 0x80
mov r13, rcx
cmp r8b, 0x3f
ja 0x1401e1ba4
lea rbx, [rdi + 3]
mov r13, r12
cmp rbx, r12
je 0x1401e1ba4
mov byte [rsp + 0x3b], r9b
mov dword [rsp + 0x3c], r10d
movzx r9d, byte [rbx]
add r9b, 0x80
cmp r9b, 0x3f
ja 0x1401e1bca
shl eax, 6
and edx, 0x3f
or edx, eax
mov rcx, qword [r14 + 0x20]
movzx eax, word [rcx + 0x1c]
cmp edx, eax
jae 0x1401e1bda
mov r13, r11
call fcn.1401f3320
mov r11, r13
movzx r9d, byte [rsp + 0x3b]
inc rbx
mov r13, rbx
mov r10d, dword [rsp + 0x3c]
jmp 0x1401e1bad
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 0x1401e1c00
mov rsi, r13
jmp 0x1401e1a10
mov r13, rbx
mov r10d, dword [rsp + 0x3c]
movzx r9d, byte [rsp + 0x3b]
jmp 0x1401e1ba4
mov eax, dword [rcx + 0x14]
add eax, 0xfffffffe
inc rbx
mov r13, rbx
mov r10d, dword [rsp + 0x3c]
movzx r9d, byte [rsp + 0x3b]
jmp 0x1401e1bad
cmp word [r14 + 0x1e], bx
mov dword [rsp + 0x3c], r10d
mov byte [rsp + 0x3b], r9b
jbe 0x1401e1c78
cmp qword [rsp + 0x158], 0
je 0x1401e2a77
cmp word [r14 + 0x1a], bx
jbe 0x1401e1e46
cmp bx, word [r14 + 0x14]
mov rcx, qword [rsp + 0x40]
jae 0x1401e1f91
test bl, 1
jne 0x1401e20d6
mov rcx, r14
mov rdx, r13
mov r8, r12
mov esi, r9d
mov rbp, r11
call fcn.1401e2a80
mov r11, rbp
mov rbp, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x40]
test al, al
jne 0x1401e20ff
mov r9d, esi
jmp 0x1401e2674
cmp ebx, 0xfe00
jne 0x1401e1d64
mov rax, rdi
sub rax, qword [rsp + 0x40]
mov r8d, 0xffffffff
cmp rax, 3
jl 0x1401e1cdb
movzx eax, byte [rdi - 3]
lea ecx, [rax + 0x1f]
cmp cl, 0xc
ja 0x1401e1cdb
movzx ecx, byte [rdi - 2]
xor ecx, 0x80
cmp cl, 0x3f
ja 0x1401e1cdb
movzx edx, byte [rdi - 1]
xor edx, 0x80
cmp dl, 0x3f
ja 0x1401e1cdb
cmp al, 0xed
jb 0x1401e1ccb
cmp cl, 0x1f
ja 0x1401e1cdb
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 0x1401e1eee
add r8d, 0xffffef00
cmp r8d, 0x12
mov rcx, qword [rsp + 0x40]
ja 0x1401e2674
cmp qword [rsp + 0x158], 0
je 0x1401e2a77
mov qword [rsp + 0x50], r8
mov rax, r12
sub rax, r13
cmp rax, 3
jl 0x1401e22d4
cmp byte [r13], 0xe1
jne 0x1401e22d4
movzx eax, byte [r13 + 1]
cmp eax, 0x87
je 0x1401e22bd
cmp eax, 0x86
jne 0x1401e22d4
movzx edx, byte [r13 + 2]
lea eax, [rdx + 0x40]
cmp al, 0xe8
jb 0x1401e22d4
add edx, 0xffffff59
jmp 0x1401e22ca
cmp ebx, 0xfe01
jb 0x1401e20c4
mov esi, ebx
shr esi, 1
test r9b, r9b
je 0x1401e2490
mov rcx, qword [rsp + 0x40]
cmp rcx, rdi
je 0x1401e2490
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 0x1401e1dc2
mov byte [rsp + 0x20], 0xff
xor edx, edx
lea r8, [rsp + 0x60]
mov r9d, eax
mov rbp, r11
call fcn.14021d100
mov r11, rbp
movzx r9d, byte [rsp + 0x3b]
movzx ecx, word [r14 + 8]
cmp eax, ecx
jl 0x1401e2490
cmp eax, 0xffff
ja 0x1401e1e02
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 0x1401e2490
and r8d, edx
je 0x1401e2490
mov rcx, r14
mov edx, eax
call fcn.1401e2c30
cmp al, sil
jbe 0x1401e21fb
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 0x1401e2674
jmp 0x1401e2a77
test bl, 1
je 0x1401e1e5b
test r9b, r9b
je 0x1401e1e7a
mov eax, ebx
and eax, 6
cmp ax, 3
jb 0x1401e1e7a
mov rcx, r14
mov rdx, r13
mov r8, r12
mov esi, r9d
mov rbp, r11
call fcn.1401e2a80
mov r11, rbp
test al, al
je 0x1401e20b9
mov rcx, qword [rsp + 0x40]
cmp rcx, rdi
je 0x1401e1eb9
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.1401cbcf0
mov r11, rbp
test al, al
je 0x1401e2a7b
shr ebx, 3
movzx eax, word [r14 + 0x1c]
sub ebx, eax
mov edx, r13d
sub edx, edi
cmp edx, 1
jne 0x1401e204d
add bl, byte [rdi]
mov byte [rsp + 0x60], bl
mov edi, 1
mov rbp, qword [rsp + 0x168]
mov r8d, dword [rsp + 0x3c]
jmp 0x1401e227a
lea ecx, [r8 - 0xac00]
cmp ecx, 0x2ba3
mov rsi, qword [rsp + 0x40]
ja 0x1401e20ce
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 0x1401e20ce
cmp qword [rsp + 0x158], 0
je 0x1401e2a77
mov rcx, r13
sub rcx, rdi
cmp rcx, 3
mov rcx, rsi
mov rdx, qword [rsp + 0x50]
jl 0x1401e2398
cmp byte [rdi], 0xe1
jne 0x1401e2398
cmp eax, 0x87
je 0x1401e238b
cmp eax, 0x86
jne 0x1401e2398
movzx ebx, byte [rdi + 2]
lea eax, [rbx + 0x40]
cmp al, 0xe8
jb 0x1401e2398
add ebx, 0xffffff59
jmp 0x1401e239d
cmp bx, word [r14 + 0x18]
jb 0x1401e2674
mov rcx, r14
mov rdx, r13
mov r8, r12
mov esi, r10d
call fcn.1401e2a80
mov r10d, esi
mov r11, qword [rsp + 0x160]
test al, al
jne 0x1401e2412
cmp qword [rsp + 0x40], rdi
je 0x1401e2412
movzx eax, byte [rdi - 1]
test al, al
jns 0x1401e1ff5
lea r9, [rdi - 1]
mov rcx, qword [r14 + 0x20]
mov edx, eax
mov r8, qword [rsp + 0x40]
call fcn.1401f33d0
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 0x1401e20c4
test r9b, r9b
je 0x1401e2412
cmp ax, 1
je 0x1401e2412
cmp word [r14 + 0x1a], ax
jbe 0x1401e2405
mov rcx, qword [r14 + 0x30]
and eax, 0xfffffffe
movzx eax, word [rcx + rax]
cmp eax, 0x1ff
jbe 0x1401e2412
movzx r9d, byte [rsp + 0x3b]
jmp 0x1401e20c4
mov dword [rsp + 0x40], edx
movzx esi, byte [r13 - 1]
add esi, ebx
mov eax, esi
and eax, 0xffffffc0
cmp eax, 0x80
jne 0x1401e218f
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.14025bfc0
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 0x1401e227a
mov r9d, esi
mov rbp, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x40]
jmp 0x1401e2674
mov rcx, rsi
jmp 0x1401e2674
test r9b, r9b
je 0x1401e20ff
cmp bx, 1
je 0x1401e20ff
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 0x1401e1c44
cmp rcx, rdi
mov r10, qword [rsp + 0x158]
je 0x1401e213c
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.1401cbcf0
mov r10, qword [rsp + 0x158]
mov r11, rsi
test al, al
je 0x1401e2a7b
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.1401cbbb0
mov r11, rsi
mov rcx, r13
test al, al
movzx r9d, byte [rsp + 0x3b]
mov r10d, dword [rsp + 0x3c]
jne 0x1401e27e0
jmp 0x1401e2a7b
mov rcx, rdi
mov rdx, r13
call fcn.1401dee00
add eax, ebx
cmp eax, 0x7f
ja 0x1401e21c8
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 0x1401e227a
mov ecx, eax
cmp eax, 0x7ff
ja 0x1401e220e
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 0x1401e226e
movzx r9d, byte [rsp + 0x3b]
mov r11, qword [rsp + 0x160]
jmp 0x1401e2490
cmp eax, 0xffff
ja 0x1401e2222
shr ecx, 0xc
or cl, 0xe0
mov edi, 1
jmp 0x1401e223c
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 0x1401e2290
mov rcx, rsi
mov r8d, edi
call fcn.1401d0eb0
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 0x1401e27e0
movzx edx, byte [r13 + 2]
cmp dl, 0x82
jg 0x1401e22d4
add edx, 0xffffff99
test edx, edx
js 0x1401e22d4
add r13, 3
jmp 0x1401e230b
mov rcx, r14
mov rdx, r13
mov r8, r12
mov rbp, r11
mov esi, r10d
call fcn.1401e2a80
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 0x1401e2674
movzx r9d, byte [rdi + 2]
add rdi, 0xfffffffffffffffd
cmp rcx, rdi
mov r8, qword [rsp + 0x158]
je 0x1401e2366
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.1401cbcf0
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 0x1401e2a7b
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 0x1401e23ef
movzx ebx, byte [rdi + 2]
cmp bl, 0x83
jl 0x1401e247a
mov ebx, 0xffffffff
add rdi, 0xfffffffffffffffd
cmp rcx, rdi
mov r8, qword [rsp + 0x158]
je 0x1401e23e6
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], r11
mov rdx, rdi
mov esi, r10d
mov r9d, r10d
call fcn.1401cbcf0
mov r8, qword [rsp + 0x158]
mov rdx, qword [rsp + 0x50]
mov r10d, esi
mov r11, qword [rsp + 0x160]
test al, al
je 0x1401e2a7b
add ebx, edx
mov ecx, r13d
sub ecx, edi
mov edx, ebx
mov edi, r10d
mov r9, r11
mov rsi, r11
call fcn.1401cbc00
mov r10d, edi
mov r11, rsi
jmp 0x1401e246c
and eax, 6
cmp ax, 3
jae 0x1401e2045
mov rcx, qword [rsp + 0x40]
cmp rcx, rdi
je 0x1401e244c
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], r11
mov rdx, rdi
mov r8, qword [rsp + 0x158]
mov r9d, esi
call fcn.1401cbcf0
mov r10d, esi
mov r11, qword [rsp + 0x160]
test al, al
je 0x1401e2a7b
test r11, r11
je 0x1401e246c
mov edx, r13d
sub edx, edi
mov rcx, r11
xor r8d, r8d
call fcn.1401d0eb0
mov r10d, esi
mov r11, qword [rsp + 0x160]
mov rcx, r13
movzx r9d, byte [rsp + 0x3b]
jmp 0x1401e27e0
add ebx, 0xffffff99
jmp 0x1401e239d
mov eax, dword [rcx + 0x14]
add eax, 0xfffffffe
jmp 0x1401e2554
cmp r13, r12
je 0x1401e2a36
mov rbp, r13
inc r13
movzx eax, byte [rbp]
test al, al
jns 0x1401e2601
mov r10d, r9d
mov rcx, r12
cmp r13, r12
je 0x1401e25f2
cmp al, 0xe0
jb 0x1401e2528
cmp al, 0xef
ja 0x1401e255c
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 0x1401e25f2
lea r13, [rbp + 2]
mov rcx, r12
cmp r13, r12
je 0x1401e25f2
movzx ecx, byte [r13]
xor ecx, 0x80
cmp cl, 0x3f
ja 0x1401e25ef
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 0x1401e2552
cmp al, 0xc2
jb 0x1401e25ef
movzx ecx, byte [r13]
xor ecx, 0x80
cmp cl, 0x3f
ja 0x1401e25ef
mov rdx, qword [r14 + 0x20]
mov rdx, qword [rdx]
and eax, 0x1f
movzx eax, word [rdx + rax*2]
add eax, ecx
inc r13
jmp 0x1401e25fe
cmp al, 0xf4
ja 0x1401e25ef
add eax, 0xffffff10
movzx edx, byte [r13]
mov ecx, edx
shr ecx, 4
lea r8, [0x1402f80f8]
movsx ecx, byte [rcx + r8]
bt ecx, eax
mov rcx, r13
jae 0x1401e25f2
lea r9, [rbp + 2]
mov rcx, r12
cmp r9, r12
je 0x1401e25f2
movzx r8d, byte [r9]
add r8b, 0x80
mov rcx, r9
cmp r8b, 0x3f
ja 0x1401e25f2
lea r13, [rbp + 3]
mov rcx, r12
cmp r13, r12
je 0x1401e25f2
movzx r9d, byte [r13]
add r9b, 0x80
cmp r9b, 0x3f
ja 0x1401e25ef
shl eax, 6
and edx, 0x3f
or edx, eax
mov rcx, qword [r14 + 0x20]
movzx eax, word [rcx + 0x1c]
cmp edx, eax
jae 0x1401e2482
call fcn.1401f3320
mov r11, qword [rsp + 0x160]
movzx r9d, byte [rsp + 0x3b]
inc r13
jmp 0x1401e2601
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 0x1401e2634
mov ecx, eax
shr ecx, 1
cmp sil, cl
mov esi, ecx
jbe 0x1401e2490
cmp qword [rsp + 0x158], 0
je 0x1401e2a77
cmp word [r14 + 0x16], ax
mov rcx, qword [rsp + 0x40]
ja 0x1401e264e
cmp word [r14 + 0x1a], ax
ja 0x1401e2669
cmp word [r14 + 0x1e], ax
jbe 0x1401e2669
cmp word [r14 + 0x12], ax
cmovbe r13, rbp
mov r10d, dword [rsp + 0x3c]
mov rbp, qword [rsp + 0x168]
jmp 0x1401e27e0
mov r13, rbp
mov rbp, qword [rsp + 0x168]
cmp rcx, rdi
je 0x1401e2699
cmp word [r14 + 0x16], bx
ja 0x1401e2699
mov esi, r9d
cmp word [r14 + 0x1a], bx
ja 0x1401e27ee
cmp word [r14 + 0x1e], bx
jbe 0x1401e27ee
mov rbx, r11
mov qword [rsp + 0x60], r14
lea rcx, [rsp + 0xa0]
mov qword [rsp + 0x68], rcx
mov edx, 8
call fcn.14020fc80
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 0x1401e26e2
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 0x1401e271c
test ecx, ecx
jg 0x1401e271c
mov dword [rbp], 7
mov ebx, 2
mov rcx, qword [rsp + 0x40]
jmp 0x1401e279f
mov ebx, 2
test ecx, ecx
mov rcx, qword [rsp + 0x40]
jg 0x1401e279f
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.1401de8d0
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.1401de8d0
mov r13, rax
cmp dword [rbp], 0
jle 0x1401e287d
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 0x1401e27d3
mov rsi, rcx
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x80]
sub rdx, rax
shr rdx, 1
mov rdi, r11
call fcn.14020fce0
mov rcx, rsi
mov r11, rdi
movzx r9d, byte [rsp + 0x3b]
test ebx, ebx
jne 0x1401e2a67
mov r10d, dword [rsp + 0x3c]
cmp r13, r12
jne 0x1401e1a02
jmp 0x1401e29d9
mov r8, rcx
lea r9, [rdi - 1]
movzx eax, byte [rdi - 1]
mov rcx, qword [r14 + 0x20]
test al, al
jns 0x1401e282d
mov edx, eax
mov qword [rsp + 0x50], r9
mov rbx, rbp
mov rbp, r11
call fcn.1401f33d0
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 0x1401e2846
mov rdi, r9
jmp 0x1401e269c
test sil, sil
je 0x1401e269c
cmp ax, 1
je 0x1401e269c
cmp word [r14 + 0x1a], ax
jbe 0x1401e28f1
mov rcx, qword [r14 + 0x30]
and eax, 0xfffe
movzx eax, word [rcx + rax]
cmp eax, 0x200
jae 0x1401e283e
jmp 0x1401e269c
mov rax, r13
sub rax, rdi
mov ecx, 0x80000000
cmp rax, rcx
jl 0x1401e28a9
mov rbp, qword [rsp + 0x168]
mov dword [rbp], 8
mov al, 1
mov dword [rsp + 0x4c], eax
mov ebx, 1
jmp 0x1401e28de
mov rcx, r14
lea rsi, [rsp + 0x60]
mov rdx, rsi
xor r8d, r8d
movzx r9d, byte [rsp + 0x3b]
call fcn.1401df830
mov rcx, rsi
mov rdx, rdi
mov r8, r13
call fcn.1401dd260
test al, al
mov rbp, qword [rsp + 0x168]
je 0x1401e2903
xor ebx, ebx
movzx r9d, byte [rsp + 0x3b]
mov r11, qword [rsp + 0x160]
jmp 0x1401e2712
and eax, 6
cmp ax, 3
jae 0x1401e283e
jmp 0x1401e269c
cmp qword [rsp + 0x158], 0
mov r11, qword [rsp + 0x160]
mov rcx, qword [rsp + 0x40]
je 0x1401e29a7
cmp rcx, rdi
je 0x1401e2955
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.1401cbcf0
mov rcx, rsi
mov r11, qword [rsp + 0x160]
test al, al
je 0x1401e29bf
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.1401cbbb0
mov rcx, rsi
mov r11, qword [rsp + 0x160]
xor ebx, ebx
test al, al
sete bl
cmovne rcx, r13
add ebx, ebx
jmp 0x1401e29b4
mov ebx, 1
mov dword [rsp + 0x4c], 0
movzx r9d, byte [rsp + 0x3b]
jmp 0x1401e279f
movzx r9d, byte [rsp + 0x3b]
mov ebx, 2
jmp 0x1401e279f
mov rcx, qword [rsp + 0x40]
jmp 0x1401e29d9
mov rcx, r13
mov dil, 1
mov r8, qword [rsp + 0x158]
test r8, r8
je 0x1401e2a03
cmp rcx, r12
je 0x1401e2a03
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], r11
mov rdx, r12
mov r9d, r10d
call fcn.1401cbcf0
lea rcx, [rsp + 0xa0]
call fcn.14020ee30
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.140258ea0
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 0x1401e2a03
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 0x1401e29fe
mov dil, 1
cmp ebx, 2
mov eax, dword [rsp + 0x4c]
je 0x1401e2a03
mov edi, eax
jmp 0x1401e2a03
xor edi, edi
jmp 0x1401e2a03
mov dil, 1
jmp 0x1401e2a03