Function at 0x1400e5813
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, 0x1d8
movaps xmmword [rsp + 0x1c0], xmm6
mov rsi, r9
mov dword [rsp + 0x3c], r8d
mov r14, rdx
mov rbp, rcx
lea rcx, [rsp + 0x120]
mov r8d, 0x9d
mov dl, 0xaa
call fcn.140117f60
mov qword [rsp + 0x28], rsi
cmp dword [rsi], 0
jg 0x1400e5db5
test rbp, rbp
je 0x1400e62f1
mov rcx, rbp
mov edx, 0x40
call fcn.140112ad4
test rax, rax
jne 0x1400e58d2
mov rcx, rbp
call fcn.140132750
test eax, eax
jle 0x1400e58d2
mov ecx, eax
xor edx, edx
mov sil, 1
mov r8d, 1
xor edi, edi
mov bl, byte [rbp + rdx]
cmp bl, 0x5f
je 0x1400e58b8
cmp bl, 0x2d
je 0x1400e58b8
inc edi
test sil, sil
cmovne edi, r8d
xor esi, esi
inc rdx
cmp rcx, rdx
jne 0x1400e5895
jmp 0x1400e58c9
cmp edi, eax
mov ebx, eax
cmovl ebx, edi
test edi, edi
cmovne eax, ebx
mov sil, 1
jmp 0x1400e58ae
cmp eax, 1
je 0x1400e6434
mov r13, rbp
movaps xmm6, xmmword [0x1402ae190]
lea rax, [rsp + 0x4d]
movups xmmword [rax - 5], xmm6
movabs r12, 0xaaaaaaaaaaaaaaaa
mov qword [rax + 0x2b], r12
movups xmmword [rax + 0x1b], xmm6
movups xmmword [rax + 0xb], xmm6
mov qword [rax - 0xd], rax
mov dword [rax - 5], 0x28
mov word [rax - 1], 0
mov dword [rax + 0x2b], 0
test r13, r13
je 0x1400e65e3
mov dil, byte [r13]
test dil, dil
je 0x1400e5e19
mov bpl, 0x72
mov ecx, 1
lea rdx, str.root
mov eax, edi
test bpl, bpl
je 0x1400e5983
lea ebx, [rax - 0x41]
lea esi, [rax + 0x20]
cmp bl, 0x1a
movzx eax, al
movzx ebx, sil
cmovae ebx, eax
lea eax, [rbp - 0x41]
lea esi, [rbp + 0x20]
cmp al, 0x1a
movzx eax, bpl
movzx ebp, sil
cmovae ebp, eax
cmp bl, bpl
jne 0x1400e5983
mov al, byte [r13 + rcx]
mov bpl, byte [rcx + rdx]
inc rcx
test al, al
jne 0x1400e593a
test bpl, bpl
je 0x1400e63ea
mov bl, 0x75
mov ecx, 1
lea rdx, [0x1402ec492]
lea eax, [rdi - 0x41]
lea ebp, [rdi + 0x20]
cmp al, 0x1a
movzx eax, dil
movzx ebp, bpl
cmovae ebp, eax
lea eax, [rbx - 0x41]
lea edi, [rbx + 0x20]
cmp al, 0x1a
movzx eax, bl
movzx ebx, dil
cmovae ebx, eax
cmp bpl, bl
je 0x1400e5f9a
mov rbp, r13
mov al, byte [rbp]
lea ecx, [rax - 0x49]
cmp cl, 0x2f
ja 0x1400e59e4
movzx ecx, cl
movabs rdx, 0x800100008001
bt rdx, rcx
jb 0x1400e6079
inc rbp
lea r15, [rsp + 0x40]
movabs r9, 0x4000000080003
mov al, byte [rbp - 1]
lea ecx, [rax - 0x2d]
cmp cl, 0x32
ja 0x1400e5a0a
movzx ecx, cl
bt r9, rcx
jb 0x1400e5a66
test al, al
je 0x1400e5a66
lea ecx, [rax - 0x41]
lea edx, [rax + 0x20]
cmp cl, 0x1a
movzx eax, al
movzx ebx, dl
cmovae ebx, eax
mov rax, qword [rsp + 0x28]
cmp dword [rax], 0
jg 0x1400e5a61
mov r8d, dword [rsp + 0x78]
lea edi, [r8 + 2]
mov edx, dword [rsp + 0x48]
cmp edx, edi
jl 0x1400e5fd7
movsxd rax, dword [rsp + 0x78]
lea ecx, [rax + 1]
mov dword [rsp + 0x78], ecx
mov rcx, qword [rsp + 0x40]
mov byte [rcx + rax], bl
movsxd rax, dword [rsp + 0x78]
mov rcx, qword [rsp + 0x40]
mov byte [rcx + rax], 0
inc rbp
jmp 0x1400e59f6
mov r8d, dword [rsp + 0x78]
lea rbx, [rbp - 1]
cmp r8d, 3
je 0x1400e5e2b
cmp r8d, 9
je 0x1400e65f9
mov al, byte [rbx]
cmp al, 0x5f
je 0x1400e5aa7
cmp al, 0x2d
je 0x1400e5aa7
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x84], 0
xor edi, edi
jmp 0x1400e5cec
mov rax, qword [rsp + 0x28]
cmp dword [rax], 0
jg 0x1400e5ae4
lea edi, [r8 + 2]
mov edx, dword [rsp + 0x48]
cmp edx, edi
jl 0x1400e61a4
movsxd rax, dword [rsp + 0x78]
lea ecx, [rax + 1]
mov dword [rsp + 0x78], ecx
mov rcx, qword [rsp + 0x40]
mov byte [rcx + rax], 0x5f
movsxd rax, dword [rsp + 0x78]
mov rcx, qword [rsp + 0x40]
mov byte [rcx + rax], 0
lea rdx, [rsp + 0x9d]
movups xmmword [rdx - 5], xmm6
mov qword [rdx + 0x2b], r12
movups xmmword [rdx + 0x1b], xmm6
movups xmmword [rdx + 0xb], xmm6
mov qword [rdx - 0xd], rdx
mov dword [rdx - 5], 0x28
mov word [rdx - 1], 0
mov dword [rdx + 0x2b], 0
xor eax, eax
xor ecx, ecx
mov dil, byte [rbp + rcx]
test dil, dil
je 0x1400e5b4a
lea esi, [rdi - 0x2d]
cmp sil, 0x32
ja 0x1400e5b35
movzx esi, sil
bt r9, rsi
jb 0x1400e5b4a
and dil, 0xdf
add dil, 0xbf
cmp dil, 0x19
ja 0x1400e5b4a
inc rcx
inc eax
jmp 0x1400e5b18
xor r8d, r8d
cmp ecx, 4
je 0x1400e5ea7
mov rdi, r9
mov r15, rbp
lea rcx, [rsp + 0x40]
mov r9, qword [rsp + 0x28]
int3
test byte [rsp + 0x3c], 1
jne 0x1400e5cfc
cmp byte [rbx], 0x2e
je 0x1400e66a4
mov rcx, rbx
mov edx, 0x40
call fcn.140112ad4
mov r13b, 1
test rax, rax
jne 0x1400e63f3
xor r15d, r15d
xor r12d, r12d
xor ebx, ebx
test byte [rsp + 0x3c], 1
jne 0x1400e5dd1
mov edi, dword [rsp + 0x78]
mov rdx, qword [rsp + 0x40]
mov rax, qword [r14]
mov rax, qword [rax + 8]
lea rcx, [method.icu_69::CheckedArrayByteSink.virtual_8]
cmp rax, rcx
jne 0x1400e5f8d
test edi, edi
jle 0x1400e5d95
mov eax, dword [r14 + 0x18]
mov ecx, 0x7fffffff
sub ecx, eax
cmp ecx, edi
jl 0x1400e667c
add eax, edi
mov dword [r14 + 0x18], eax
mov ecx, dword [r14 + 0x10]
mov eax, dword [r14 + 0x14]
sub ecx, eax
cmp ecx, edi
jl 0x1400e668e
movsxd rcx, eax
add rcx, qword [r14 + 8]
cmp rcx, rdx
je 0x1400e5d8f
mov r8d, edi
call fcn.1401178b0
mov eax, dword [r14 + 0x14]
add eax, edi
mov dword [r14 + 0x14], eax
test byte [rsp + 0x3c], 2
jne 0x1400e5daa
test rbx, rbx
je 0x1400e5daa
test r12, r12
jne 0x1400e6486
cmp byte [rsp + 0x4c], 0
jne 0x1400e65ea
movaps xmm6, xmmword [rsp + 0x1c0]
add rsp, 0x1d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test rbx, rbx
setne al
and al, r13b
cmp al, 1
je 0x1400e6755
mov esi, 8
mov ebp, dword [rsp + 0x78]
lea r13, str.art__LOJBAN
mov rdi, qword [rsi + r13 - 8]
mov rcx, rdi
call fcn.140132750
cmp ebp, eax
je 0x1400e60ce
add rsi, 0x10
cmp rsi, 0xa8
jne 0x1400e5df2
jmp 0x1400e5d28
mov bl, 0x75
mov rbp, r13
test bl, bl
jne 0x1400e59c2
jmp 0x1400e6525
lea r15, [0x1402e7c20]
mov rdi, qword [rsp + 0x40]
xor esi, esi
mov qword [rsp + 0x88], r14
mov r14, r12
mov rdx, qword [r15]
test rdx, rdx
je 0x1400e5e7a
mov r12, r15
lea rax, [0x1402e7c20]
sub r12, rax
mov rcx, rdi
call fcn.1401326d0
test eax, eax
je 0x1400e6131
mov rdx, qword [r15 + 8]
add r15, 8
add r12, 8
test rdx, rdx
jne 0x1400e5e59
add r15, 8
mov r8d, 3
test sil, 1
mov sil, 1
mov r12, r14
mov r14, qword [rsp + 0x88]
movabs r9, 0x4000000080003
je 0x1400e5e41
jmp 0x1400e5a83
mov r15d, eax
mov rax, qword [rsp + 0x28]
mov r10d, dword [rax]
test r10d, r10d
jg 0x1400e651d
mov cl, byte [rbp]
lea edx, [rcx - 0x61]
lea edi, [rcx - 0x20]
cmp dl, 0x1a
movzx ecx, cl
movzx edx, dil
cmovae edx, ecx
mov dword [rsp + 0xc8], 1
mov byte [rsp + 0x9d], dl
mov byte [rsp + 0x9e], 0
mov r8d, 1
add r15, rbp
mov r13d, 2
lea rcx, [rsp + 0x90]
movzx eax, byte [rbp + r13 - 1]
lea edx, [rax - 0x41]
lea edi, [rax + 0x20]
cmp dl, 0x1a
movzx esi, dil
cmovae esi, eax
test r10d, r10d
jg 0x1400e5f62
lea edi, [r8 + 2]
mov edx, dword [rsp + 0x98]
cmp edx, edi
jl 0x1400e6229
movsxd rax, dword [rsp + 0xc8]
lea edx, [rax + 1]
mov dword [rsp + 0xc8], edx
mov rdx, qword [rsp + 0x90]
mov byte [rdx + rax], sil
movsxd rax, dword [rsp + 0xc8]
mov rdx, qword [rsp + 0x90]
mov byte [rdx + rax], 0
mov r8d, dword [rsp + 0xc8]
cmp r13d, 4
je 0x1400e5f7d
mov rax, qword [rsp + 0x28]
mov r10d, dword [rax]
inc r13
jmp 0x1400e5f02
mov rdi, r9
mov rdx, qword [rsp + 0x90]
jmp 0x1400e5b5c
mov rcx, r14
mov r8d, edi
call rax
jmp 0x1400e5d95
cmp ecx, 3
je 0x1400e6525
mov dil, byte [r13 + rcx]
mov bl, byte [rcx + rdx]
inc rcx
test dil, dil
jne 0x1400e5991
jmp 0x1400e5e1b
mov rsi, r9
test edx, edx
jle 0x1400e5ffc
add edx, edi
inc r8d
mov rcx, r15
int3
inc r8d
lea rcx, [rsp + 0x40]
mov edx, edi
int3
mov cl, byte [rbp + 1]
cmp cl, 0x5f
je 0x1400e608a
cmp cl, 0x2d
jne 0x1400e59e4
lea ecx, [rax - 0x41]
lea edx, [rax + 0x20]
cmp cl, 0x1a
movzx eax, al
movzx edx, dl
cmovae edx, eax
lea rdi, [rsp + 0x40]
mov rcx, rdi
mov rsi, qword [rsp + 0x28]
mov r8, rsi
int3
test ebp, ebp
je 0x1400e67c4
movsxd r8, eax
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x30], rcx
mov rdx, rdi
call fcn.1401177b0
test eax, eax
jne 0x1400e5e07
jmp 0x1400e67d7
shr r12, 3
test r12w, r12w
js 0x1400e6865
mov dword [rsp + 0x78], 0
mov byte [rdi], 0
movzx eax, r12w
lea rcx, [0x1402e8f00]
mov rsi, qword [rcx + rax*8]
xor r8d, r8d
movzx eax, r12w
cmp eax, 0x252
je 0x1400e61f6
cmp eax, 0x25b
mov r12, r14
je 0x1400e61f9
mov rcx, rsi
call fcn.140132750
mov r8, rax
jmp 0x1400e61f9
mov rsi, r9
test edx, edx
jle 0x1400e61cb
add edx, edi
inc r8d
lea rcx, [rsp + 0x40]
int3
inc r8d
lea rcx, [rsp + 0x40]
mov edx, edi
int3
mov r12, r14
lea rdi, [rsp + 0x40]
mov rcx, rdi
mov rdx, rsi
mov r9, qword [rsp + 0x28]
int3
test edx, edx
jle 0x1400e625a
add edx, edi
inc r8d
int3
inc r8d
lea rcx, [rsp + 0x90]
mov edx, edi
int3
mov rcx, qword [0x14031e6a0]
test rcx, rcx
je 0x1400e657d
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rdi, qword [0x14031e680]
mov rcx, qword [0x14031e6a0]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test rdi, rdi
je 0x1400e6563
mov r13, qword [rdi + 0x28]
jmp 0x1400e58d5
lea rbp, [r13 + 4]
jmp 0x1400e59c2
mov rbx, rax
mov rcx, rax
mov edx, 0x3d
call fcn.140112ad4
mov r12, rax
mov rcx, rbx
mov edx, 0x3b
call fcn.140112ad4
mov r15, rax
test r12, r12
sete al
test byte [rsp + 0x3c], 1
jne 0x1400e642c
test r12, r12
je 0x1400e6885
mov r13d, eax
jmp 0x1400e5d1d
mov rsi, qword [rsp + 0x28]
mov qword [rsp + 0x20], rsi
lea r13, [rsp + 0x120]
mov rcx, rbp
mov rdx, r13
mov r8d, 0x9d
xor r9d, r9d
int3
test r15, r15
je 0x1400e6494
cmp r15, r12
jbe 0x1400e5daa
mov rax, qword [r14]
lea rdx, [0x1402bbfa5]
mov rcx, r14
mov r8d, 1
call qword [rax + 8]
inc rbx
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov dl, 0x40
mov r8, r14
mov r9b, 1
call fcn.14015c0bb
jmp 0x1400e5daa
xor r8d, r8d
jmp 0x1400e5ef1
lea rbp, [r13 + 3]
mov al, byte [r13 + 3]
lea ecx, [rax - 0x2d]
cmp cl, 0x32
ja 0x1400e654c
movzx ecx, cl
movabs rdx, 0x4000000080001
bt rdx, rcx
jb 0x1400e59c2
test al, al
je 0x1400e59c2
jmp 0x1400e59bf
lea rdx, [rsp + 0x40]
mov dword [rdx], 0
xor ecx, ecx
int3
lea rcx, [0x14031e698]
int3
xor ebp, ebp
jmp 0x1400e59c2
mov rcx, qword [rsp + 0x40]
call fcn.1400fde6a
jmp 0x1400e5db5
lea rdx, [0x1402ec2bf]
mov r8d, 9
mov rcx, r13
mov rsi, r9
call fcn.140132810
mov r9, rsi
mov r8d, 9
test eax, eax
jne 0x1400e5a83
mov dword [rsp + 0x78], 0
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
int3
mov dword [r14 + 0x18], 0x7fffffff
mov byte [r14 + 0x1c], 1
jmp 0x1400e5d95
mov byte [r14 + 0x1c], 1
mov edi, ecx
test ecx, ecx
jg 0x1400e5d77
mov edi, ecx
jmp 0x1400e5d8f
mov dl, 0x2e
lea rsi, [rsp + 0x40]
movsx eax, dl
test eax, 0xffffffbf
je 0x1400e5cfc
mov rcx, rsi
mov r8, qword [rsp + 0x28]
int3
mov ecx, dword [rsp + 0x30]
mov eax, ecx
cmp ecx, 2
jge 0x1400e680f
cmp eax, 1
mov ebp, 1
cmovg ebp, eax
sub ebp, eax
inc ebp
lea rsi, [rsp + 0x40]
mov rcx, rsi
mov dl, 0x5f
mov r8, qword [rsp + 0x28]
int3
lea rsi, [rsp + 0x90]
movaps xmmword [rsi], xmm6
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.14016b2d8
test edi, edi
setg r9b
lea rcx, [rbx + 1]
mov dl, 0x40
mov r8, rsi
int3
test rbx, rbx
jne 0x1400e5d28
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rbp, [rsp + 0x40]
mov dword [rbp + 0x38], 0
mov rax, qword [rsp + 0x30]
mov byte [rax], 0
mov rdi, qword [rsi + r13]
mov rcx, rdi
call fcn.140132750
mov rcx, rbp
mov rdx, rdi
mov r8d, eax
mov r9, qword [rsp + 0x28]
int3
jne 0x1400e678b
cmp dword [rsp + 0x84], 0
jg 0x1400e6764
jmp 0x1400e678b
mov r8d, 3
mov r12, r14
mov r14, qword [rsp + 0x88]
movabs r9, 0x4000000080003
jmp 0x1400e5a83
mov dl, byte [rbx]
test dl, dl
je 0x1400e68af
lea rsi, [rsp + 0x40]
xor r12d, r12d
mov rcx, rsi
mov r8, qword [rsp + 0x28]
int3
xor r12d, r12d
jmp 0x1400e5d1d