Function at 0x1401bfde0
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, 0x338
mov r12d, r9d
mov qword [rsp + 0x30], r8
mov r13, rdx
mov rsi, rcx
mov edi, dword [rsp + 0x3a8]
mov r15d, dword [rsp + 0x3a0]
mov rax, qword [0x1406a7e00]
xor rax, rsp
mov qword [rsp + 0x330], rax
movups xmm0, xmmword [rdx]
movaps xmmword [rsp + 0xd0], xmm0
movdqa xmm0, xmmword [rsp + 0xd0]
movd xmm1, dword [rsp + 0x3a8]
pslld xmm0, xmm1
movdqa xmmword [rsp + 0xd0], xmm0
lea r14, method.icu::StringEnumeration.virtual_0
mov qword [rsp + 0xe0], r14
mov qword [rsp + 0xe8], 0
lea rbx, [rsp + 0xf0]
mov rcx, rbx
mov edx, 8
call fcn.1400ba650
lea rdx, [rsp + 0x108]
lea rbp, [rsp + 0x308]
mov r8d, 0x200
mov r9d, 0x200
mov rcx, rbp
call fcn.14007a290
lea rax, [0x1405b8c90]
mov qword [rsp + 0xe0], rax
mov dword [rsp + 0x328], edi
xor eax, eax
cmp byte [rsp + 0x3b0], 0
lea r8, [rsp + 0xd0]
cmovne r8, rax
lea rcx, [rsp + 0xe0]
mov rdx, rsi
call fcn.14030f460
test eax, eax
je 0x1401bff08
mov edi, eax
mov r14, qword [rsp + 0xe8]
cmp eax, 1
jg 0x1401bff91
mov ecx, dword [rsp + 0x3a8]
movzx r9d, byte [rsp + 0x3b0]
jmp 0x1401c0051
test byte [rsi + 0xe], 2
je 0x1401c019e
movsxd rdx, dword [r13]
mov eax, dword [r13 + 4]
cmp eax, r12d
cmovg r12d, eax
mov eax, dword [r13 + 0xc]
cmp eax, r15d
cmovl r15d, eax
movsxd r9, dword [r13 + 8]
mov rax, r9
sub rax, rdx
test rax, rax
jle 0x1401c019e
movsxd rcx, r15d
movsxd r8, r12d
sub rcx, r8
test rcx, rcx
jle 0x1401c019e
or rcx, rax
cmp rcx, 0x7fffffff
ja 0x1401c019e
sub r15d, r12d
mov ecx, dword [rsp + 0x3a8]
shl r15d, cl
sub r9d, edx
shl r9d, cl
shl r12d, cl
shl edx, cl
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
mov dword [rsp + 0x20], r15d
mov r8d, r12d
call qword [rax + 0x20]
jmp 0x1401c019e
mov eax, edi
add eax, 0xfffffffe
je 0x1401bffa0
bsr eax, eax
xor eax, 0x1f
jmp 0x1401bffa5
mov eax, 0x20
add eax, eax
mov ecx, 0x40
sub ecx, eax
lea r9, [rsp + 0x50]
mov rdx, r14
mov r8d, edi
call fcn.1401c1430
mov eax, edi
dec rax
mov r10d, 1
cmp edi, 2
je 0x1401c0024
mov rdx, rax
and rdx, 0xfffffffffffffffe
neg rdx
nop dword [rax + rax]
mov r8, qword [r14 + r10*8 - 8]
mov r9, qword [r14 + r10*8]
mov qword [r8], r9
mov r8, qword [r14 + r10*8 - 8]
mov r9, qword [r14 + r10*8]
mov qword [r9 + 8], r8
mov r8, qword [r14 + r10*8]
mov r9, qword [r14 + r10*8 + 8]
mov qword [r8], r9
mov r8, qword [r14 + r10*8]
mov r9, qword [r14 + r10*8 + 8]
mov qword [r9 + 8], r8
lea r8, [rdx + r10]
add r8, 2
add r10, 2
cmp r8, 1
jne 0x1401bffe0
test al, 1
mov ecx, dword [rsp + 0x3a8]
movzx r9d, byte [rsp + 0x3b0]
je 0x1401c0051
mov rax, qword [r14 + r10*8 - 8]
mov rdx, qword [r14 + r10*8]
mov qword [rax], rdx
mov rax, qword [r14 + r10*8 - 8]
mov rdx, qword [r14 + r10*8]
mov qword [rdx + 8], rax
movsxd rax, edi
mov rax, qword [r14 + rax*8 - 8]
mov r8, qword [r14]
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xa8], r8
mov dword [rsp + 0xc0], 0x80000001
mov dword [rsp + 0xb8], 0x80000001
lea rdx, [rsp + 0xa8]
mov qword [r8 + 8], rdx
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x80], 0
mov dword [rsp + 0x98], 0x7fffffff
lea rdx, [rsp + 0x80]
mov qword [rax], rdx
shl r12d, cl
shl r15d, cl
mov ebp, dword [rsp + 0xd4]
cmp r12d, ebp
cmovg ebp, r12d
mov eax, dword [rsp + 0xdc]
cmp r15d, eax
cmovl eax, r15d
test r9b, r9b
cmovne ebp, r12d
cmovne eax, r15d
mov dword [rsp + 0x3c], eax
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
lea rax, [0x1405b8d10]
mov qword [rsp + 0x50], rax
movzx ebx, byte [rsi + 0xe]
test bl, 2
jne 0x1401c0115
xor eax, eax
mov qword [rsp + 0x40], rax
jmp 0x1401c0149
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x68], rax
mov eax, dword [r13]
shl eax, cl
mov dword [rsp + 0x70], eax
mov eax, dword [r13 + 8]
shl eax, cl
mov dword [rsp + 0x74], eax
lea rax, [0x1401c0440]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
mov rcx, rsi
call fcn.14008b7f0
test bl, 2
jne 0x1401c01db
cmp edi, 2
jl 0x1401c01db
test al, al
je 0x1401c01db
lea rcx, [rsp + 0xa8]
mov rdx, qword [rsp + 0x30]
mov r8d, ebp
mov r9d, dword [rsp + 0x3c]
call fcn.1401c0470
lea rcx, [rsp + 0x50]
call fcn.1402752d0
lea rbx, [rsp + 0xf0]
lea r14, method.icu::StringEnumeration.virtual_0
lea rbp, [rsp + 0x308]
mov qword [rsp + 0xe0], r14
mov rcx, rbp
call fcn.14007a670
mov rcx, rbx
call fcn.1400ba660
mov rcx, qword [rsp + 0x330]
xor rcx, rsp
call fcn.1405602f0
nop
add rsp, 0x338
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [rsp + 0xd8]
mov dword [rsp + 0x4c], eax
movzx eax, byte [rsi + 0xe]
and al, 1
cmp al, 1
mov r13d, 0
sbb r13d, r13d
or r13d, 1
mov r15d, 0x8000
mov byte [rsp + 0x2f], bl
nop word cs:[rax + rax]
mov r14, qword [rsp + 0xa8]
mov r12d, dword [rsp + 0xb8]
test bl, 2
je 0x1401c0233
mov rcx, qword [rsp + 0x30]
mov edx, ebp
mov r8b, 1
call qword [rsp + 0x40]
xor esi, esi
cmp dword [r14 + 0x18], ebp
jle 0x1401c0320
xor ebx, ebx
test ebx, r13d
je 0x1401c0260
mov r9d, dword [rsp + 0x4c]
sub r9d, esi
jle 0x1401c0260
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
mov edx, esi
mov r8d, ebp
call qword [rax + 8]
movzx ebx, byte [rsp + 0x2f]
test bl, 2
je 0x1401c0278
mov rcx, qword [rsp + 0x30]
mov edx, ebp
xor r8d, r8d
call qword [rsp + 0x40]
inc ebp
cmp ebp, dword [rsp + 0x3c]
jge 0x1401c017d
cmp dword [r14 + 0x18], ebp
jne 0x1401c0210
mov rdx, qword [r14 + 8]
mov ecx, dword [r14 + 0x10]
cmp dword [rdx + 0x10], ecx
jle 0x1401c0210
nop dword [rax + rax]
mov rax, rdx
mov rdx, qword [rdx + 8]
test rdx, rdx
je 0x1401c02cd
cmp dword [rax + 0x10], ecx
jg 0x1401c02a0
jmp 0x1401c02cd
mov rax, rcx
cmp dword [r14 + 0x18], ebp
jne 0x1401c0210
mov rcx, r14
mov r14, qword [r14]
nop word cs:[rax + rax]
mov rdx, rax
mov rax, qword [rax]
cmp rax, rcx
je 0x1401c02c0
mov r8d, dword [rax + 0x10]
cmp r8d, dword [rcx + 0x10]
jl 0x1401c02e0
mov rax, qword [rcx + 8]
mov qword [rax], r14
mov rax, qword [rcx]
mov r8, qword [rcx + 8]
mov qword [rax + 8], r8
mov qword [rcx + 8], rdx
mov rax, qword [rdx]
mov qword [rcx], rax
mov rax, qword [rdx]
mov qword [rax + 8], rcx
mov qword [rdx], rcx
jmp 0x1401c02c0
xor ebx, ebx
xor esi, esi
jmp 0x1401c033d
mov r12d, eax
cmp dword [r14 + 0x18], ebp
jg 0x1401c0241
mov rdi, r14
mov eax, ebx
mov r9d, dword [r14 + 0x10]
add r9d, r15d
sar r9d, 0x10
test ebx, r13d
cmove esi, r9d
movsx ebx, byte [r14 + 0x27]
add ebx, eax
test ebx, r13d
jne 0x1401c0375
sub r9d, esi
jle 0x1401c0375
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
mov edx, esi
mov r8d, ebp
call qword [rax + 8]
mov r14, qword [rdi]
cmp dword [rdi + 0x1c], ebp
jne 0x1401c03a0
cmp byte [rdi + 0x24], 0
jle 0x1401c0404
mov rcx, rdi
call fcn.14030f960
test eax, eax
je 0x1401c0406
mov eax, dword [rdi + 0x10]
cmp eax, r12d
jge 0x1401c0330
jmp 0x1401c03ae
mov eax, dword [rdi + 0x14]
add eax, dword [rdi + 0x10]
mov dword [rdi + 0x10], eax
cmp eax, r12d
jge 0x1401c0330
mov rdx, qword [rdi + 8]
mov r8, rdx
nop word cs:[rax + rax]
mov rcx, r8
mov r8, qword [r8 + 8]
test r8, r8
je 0x1401c03d1
cmp dword [rcx + 0x10], eax
jg 0x1401c03c0
cmp qword [rcx], rdi
je 0x1401c0333
mov rax, qword [rdi]
mov qword [rdx], rax
mov rax, qword [rdi]
mov rdx, qword [rdi + 8]
mov qword [rax + 8], rdx
mov qword [rdi + 8], rcx
mov rax, qword [rcx]
mov qword [rdi], rax
mov rax, qword [rcx]
mov qword [rax + 8], rdi
mov qword [rcx], rdi
jmp 0x1401c0333
js 0x1401c0420
mov rax, qword [rdi]
mov rcx, qword [rdi + 8]
mov qword [rcx], rax
mov rax, qword [rdi]
mov rcx, qword [rdi + 8]
mov qword [rax + 8], rcx
jmp 0x1401c0333
mov rcx, rdi
call fcn.14030fe30
test eax, eax
jne 0x1401c0393
jmp 0x1401c0406