Function at 0x1400bf500
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
push rsi
push rdi
sub rsp, 0x68
mov rsi, qword [0x14021cd18]
mov rdi, rsi
mov eax, dword [rsi + 0x40a0]
cmp dword [rsi + 0x40a4], eax
je 0x1400bfc90
mov qword [r11 + 8], rbx
mov rbx, qword [rsi + 0x61c8]
mov qword [r11 + 0x10], rbp
movsxd rbp, dword [rsi + 0x61c0]
mov qword [r11 + 0x18], r12
shl rbp, 5
mov qword [r11 + 0x20], r14
add rbp, rbx
mov qword [r11 - 0x18], r15
movaps xmmword [rsp + 0x50], xmm6
cmp rbx, rbp
je 0x1400bf577
cmp dword [rbx + 4], 2
jne 0x1400bf567
mov rdx, rbx
mov rcx, rdi
call qword [rbx + 0x10]
add rbx, 0x20
cmp rbx, rbp
jne 0x1400bf558
mov rsi, qword [0x14021cd18]
cmp dword [rsi + 0x4118], 2
jl 0x1400bf595
call fcn.1400bed50
cmp dword [rsi + 0x4118], 1
jg 0x1400bf580
mov rsi, qword [0x14021cd18]
xor r12d, r12d
lea r14, [rdi + 0x6110]
cmp qword [rdi + 0xc8], r12
je 0x1400bf650
mov rax, qword [r14]
cmp rax, qword [rdi + 0x6120]
jne 0x1400bf5c9
mov rax, qword [r14 + 8]
cmp rax, qword [rdi + 0x6128]
je 0x1400bf650
mov rcx, qword [rsi + 0x4c88]
movsxd rax, dword [rsi + 0x4c80]
lea rdx, [rcx + rax*8]
cmp rcx, rdx
je 0x1400bf5f6
mov eax, dword [rdi + 0x6130]
mov rbx, qword [rcx]
cmp dword [rbx], eax
je 0x1400bf5f9
add rcx, 8
cmp rcx, rdx
jne 0x1400bf5e6
mov rbx, r12
test byte [rdi + 0x6274], 0x40
je 0x1400bf635
movss xmm3, dword [r14 + 8]
lea rcx, str._io__Calling_io.SetPlatformImeDataFn__:_WantVisible:__d__InputPos___.2f__.2f__n
movss xmm2, dword [r14 + 4]
movzx edx, byte [r14]
cvtps2pd xmm3, xmm3
cvtps2pd xmm2, xmm2
movq r9, xmm3
movq r8, xmm2
call fcn.1400b5d40
mov rsi, qword [0x14021cd18]
test rbx, rbx
jne 0x1400bf644
mov rax, qword [rsi + 0x4c88]
mov rbx, qword [rax]
mov rdx, r14
mov rcx, rbx
call qword [rdi + 0xc8]
mov rax, qword [rdi + 0x4148]
mov byte [rdi + 0x40b1], r12b
test rax, rax
je 0x1400bf673
cmp byte [rax + 0xf5], r12b
jne 0x1400bf673
mov byte [rax + 0xf3], r12b
call fcn.1400bed50
mov rcx, qword [0x14021cd18]
mov rbx, rcx
cmp qword [rcx + 0x4ed8], r12
je 0x1400bf697
call fcn.1400c92a0
mov rcx, qword [0x14021cd18]
cmp qword [rbx + 0x4d08], r12
je 0x1400bf6d5
cmp byte [rcx + 0x4da9], r12b
je 0x1400bf6d5
cmp dword [rcx + 0x4df8], r12d
jne 0x1400bf6d5
cmp dword [rcx + 0x4e68], r12d
jne 0x1400bf6d5
mov eax, dword [rbx + 0x4dac]
test al, 0xf
je 0x1400bf6d5
test al, al
js 0x1400bf6d5
call fcn.1400c8270
mov rcx, qword [0x14021cd18]
mov ebp, r12d
xorps xmm6, xmm6
cmp dword [rdi + 0x6138], r12d
jle 0x1400bf84d
mov r14, r12
nop dword [rax + rax]
mov rax, qword [rdi + 0x6140]
mov rsi, qword [rax + r14 + 8]
test rsi, rsi
je 0x1400bf83b
mov eax, dword [rdi + 0x40a0]
cmp dword [rsi + 0xb0], eax
jne 0x1400bf83b
movzx eax, byte [rsi + 0xcc]
test al, 1
je 0x1400bf83b
mov rdx, qword [rsi + 0x88]
test rdx, rdx
je 0x1400bf83b
cmp qword [rsi + 0x20], r12
jne 0x1400bf83b
test al, 4
jne 0x1400bf83b
movss xmm0, dword [rcx + 0x3a38]
movss xmm3, dword [rsi + 0x48]
addss xmm0, xmm0
movss xmm1, dword [rsi + 0x4c]
movaps xmm4, xmm3
addss xmm4, dword [rsi + 0x50]
movaps xmm2, xmm1
addss xmm3, xmm6
addss xmm2, dword [rsi + 0x54]
addss xmm0, dword [rcx + 0x3e80]
lea rcx, [rsp + 0x30]
movss dword [rsp + 0x38], xmm4
movss dword [rsp + 0x30], xmm3
movss dword [rsp + 0x3c], xmm2
addss xmm0, xmm1
movss dword [rsp + 0x34], xmm0
movss xmm2, dword [rdx + 0x5c]
movss xmm0, dword [rdx + 0x58]
movaps xmm3, xmm2
addss xmm3, dword [rdx + 0x64]
movaps xmm1, xmm0
addss xmm1, dword [rdx + 0x60]
movss dword [rsp + 0x44], xmm2
lea rdx, [rsp + 0x40]
movss xmm2, dword [rdi + 0x3ad4]
movss dword [rsp + 0x4c], xmm3
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x48], xmm1
call fcn.1400ec870
mov rcx, qword [rsi + 0x88]
xor r8d, r8d
mov ebx, eax
mov rdx, qword [rcx + 0x2e0]
lea rcx, [rdx + 0x80]
call fcn.1400f1450
mov rcx, qword [rsi + 0x88]
lea r8, [rsp + 0x38]
mov r9d, dword [rsi + 0x84]
lea rdx, [rsp + 0x30]
mov dword [rsp + 0x28], ebx
movss xmm0, dword [rcx + 0x90]
mov rcx, qword [rcx + 0x2e0]
movss dword [rsp + 0x20], xmm0
call fcn.1400ebf80
mov rcx, qword [0x14021cd18]
inc ebp
add r14, 0x10
cmp ebp, dword [rdi + 0x6138]
jl 0x1400bf6f0
cmp qword [rcx + 0x4c98], r12
je 0x1400bf867
mov dword [rcx + 0x4c90], 0x3f800000
mov qword [rcx + 0x4c98], r12
cmp byte [rdi + 0x4f14], r12b
je 0x1400bf8ea
mov eax, dword [rdi + 0x4f3c]
inc eax
cmp eax, dword [rdi + 0x40a0]
jge 0x1400bf89c
test byte [rdi + 0x4f18], 0x20
jne 0x1400bf898
mov ecx, dword [rdi + 0x4f20]
call fcn.1400c45d0
test al, al
jne 0x1400bf89c
mov al, 1
jmp 0x1400bf89e
xor al, al
cmp byte [rdi + 0x4f62], r12b
jne 0x1400bf8ab
test al, al
je 0x1400bf8b0
call fcn.1400b4f00
cmp byte [rdi + 0x4f14], r12b
je 0x1400bf8ea
mov eax, dword [rdi + 0x40a0]
cmp dword [rdi + 0x4f1c], eax
jge 0x1400bf8ea
test byte [rdi + 0x4f18], 1
jne 0x1400bf8ea
lea rcx, [0x1401c8550]
mov byte [rdi + 0x4f15], 1
call fcn.1400d0fb0
mov byte [rdi + 0x4f15], r12b
mov eax, dword [rdi + 0x40a0]
mov dword [rdi + 0x40a4], eax
mov byte [rdi + 0x40b0], r12b
mov rsi, qword [0x14021cd18]
cmp dword [rsi + 0x41ac], r12d
jne 0x1400bfa28
cmp dword [rsi + 0x4198], r12d
jne 0x1400bfa28
mov rbx, qword [rsi + 0x4d08]
test rbx, rbx
je 0x1400bf937
cmp byte [rbx + 0xfa], r12b
jne 0x1400bfa28
cmp byte [rsi + 0x2b28], r12b
je 0x1400bf9ea
mov r14, qword [rsi + 0x4150]
test r14, r14
je 0x1400bf97b
mov rbp, qword [r14 + 0x3c0]
test rbp, rbp
je 0x1400bf9d9
test dword [rbp + 0x14], 0x4000000
je 0x1400bf97e
mov ecx, dword [rbp + 0x10c]
mov edx, 0x800
call fcn.1400c4890
test al, al
jne 0x1400bf97e
jmp 0x1400bf9ea
mov rbp, r12
test rbp, rbp
je 0x1400bf9d9
mov rcx, r14
call fcn.1400d1b90
cmp byte [rsi + 0x67], r12b
je 0x1400bf9c7
test byte [rbp + 0x14], 1
je 0x1400bf9a0
test byte [rbp + 0x43d], 1
je 0x1400bf9c7
lea rdx, [rsp + 0x40]
mov rcx, rbp
call fcn.1400d23b0
mov rcx, rax
lea rdx, [rsi + 0x2ad4]
call fcn.1400ab290
test al, al
jne 0x1400bf9c7
mov qword [rsi + 0x4160], r12
cmp byte [rsi + 0x41a1], r12b
je 0x1400bf9ea
mov qword [rsi + 0x4160], r12
jmp 0x1400bf9ea
test rbx, rbx
je 0x1400bf9ea
mov edx, 2
xor ecx, ecx
call fcn.1400c12c0
cmp byte [rsi + 0x2b29], r12b
je 0x1400bfa28
call fcn.1400c2710
mov rbx, qword [rsi + 0x4150]
mov rbp, rax
test rbx, rbx
je 0x1400bfa1b
test rax, rax
je 0x1400bfa1e
mov rdx, rax
mov rcx, rbx
call fcn.1400c49a0
test al, al
jne 0x1400bfa1e
mov rbx, rbp
mov dl, 1
mov rcx, rbx
call fcn.1400b5270
mov r14, qword [0x14021cd18]
lea rsi, [r14 + 0x39e8]
mov ecx, dword [rsi + 4]
test ecx, ecx
jns 0x1400bfa56
mov eax, ecx
cdq
sub eax, edx
mov edx, r12d
sar eax, 1
add eax, ecx
mov rcx, rsi
test eax, eax
cmovg edx, eax
call fcn.1400d86f0
mov dword [rsi], r12d
mov r15d, r12d
cmp dword [r14 + 0x4c80], r12d
jle 0x1400bfb11
mov rbp, r12
nop dword [rax]
mov rax, qword [r14 + 0x4c88]
mov rbx, qword [rax + rbp*8]
movsd xmm0, qword [rbx + 8]
movsd qword [rbx + 0x78], xmm0
mov eax, dword [r14 + 0x40a0]
cmp dword [rbx + 0x6c], eax
jl 0x1400bfa9d
comiss xmm6, dword [rbx + 0x10]
jae 0x1400bfa9d
comiss xmm6, dword [rbx + 0x14]
jb 0x1400bfaa2
test rbp, rbp
jg 0x1400bfafe
mov rax, qword [rbx + 0x60]
test rax, rax
je 0x1400bfabd
cmp byte [rax + 0xf3], r12b
je 0x1400bfafe
cmp byte [rax + 0xfb], r12b
jne 0x1400bfafe
mov r8d, dword [rsi]
mov ecx, dword [rsi + 4]
cmp r8d, ecx
jne 0x1400bfaf1
inc r8d
test ecx, ecx
je 0x1400bfada
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1400bfadf
mov eax, 8
cmp eax, r8d
mov rcx, rsi
cmovg r8d, eax
mov edx, r8d
call fcn.1400d86f0
movsxd rcx, dword [rsi]
mov rax, qword [rsi + 8]
mov qword [rax + rcx*8], rbx
inc dword [rsi]
inc r15d
inc rbp
cmp r15d, dword [r14 + 0x4c80]
jl 0x1400bfa70
mov rax, qword [r14 + 0x4c88]
movaps xmm6, xmmword [rsp + 0x50]
mov r15, qword [rsp + 0x60]
mov r14, qword [rsp + 0x98]
mov rcx, qword [rax]
mov word [rcx + 0x59], r12w
mov byte [rcx + 0x5b], r12b
mov ecx, dword [rdi + 0x410c]
test ecx, ecx
jns 0x1400bfb5d
mov eax, ecx
cdq
sub eax, edx
mov edx, r12d
sar eax, 1
add eax, ecx
lea rcx, [rdi + 0x4108]
test eax, eax
cmovg edx, eax
call fcn.1400d86f0
mov dword [rdi + 0x4108], r12d
lea rcx, [rdi + 0x4108]
mov edx, dword [rdi + 0x40e8]
call fcn.1400d86f0
mov rbx, qword [rdi + 0x40f0]
movsxd rax, dword [rdi + 0x40e8]
lea rbp, [rbx + rax*8]
cmp rbx, rbp
je 0x1400bfbba
nop dword [rax]
mov rdx, qword [rbx]
cmp byte [rdx + 0xf3], r12b
je 0x1400bfba5
test dword [rdx + 0x14], 0x1000000
jne 0x1400bfbb1
lea rcx, [rdi + 0x4108]
call fcn.1400af8b0
add rbx, 8
cmp rbx, rbp
jne 0x1400bfb90
mov ecx, dword [rdi + 0x4108]
xor edx, edx
mov eax, dword [rdi + 0x40e8]
mov dword [rdi + 0x4108], eax
mov eax, dword [rdi + 0x40ec]
mov dword [rdi + 0x40e8], ecx
mov ecx, dword [rdi + 0x410c]
mov dword [rdi + 0x410c], eax
mov rax, qword [rdi + 0x40f0]
mov dword [rdi + 0x40ec], ecx
mov rcx, qword [rdi + 0x4110]
mov qword [rdi + 0x4110], rax
mov eax, dword [rdi + 0x4138]
mov qword [rdi + 0x40f0], rcx
lea rcx, [rdi + 0x2bc8]
mov dword [rdi + 0xec], eax
mov rax, qword [rdi + 0x38]
mov byte [rax + 0x18], r12b
movsd xmm0, qword [rdi + 0x100]
movsd qword [rdi + 0x2acc], xmm0
mov byte [rdi + 0x2bc0], r12b
mov qword [rdi + 0x110], r12
call fcn.1400d8960
mov rbx, qword [rdi + 0x61c8]
movsxd rsi, dword [rdi + 0x61c0]
mov r12, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x88]
shl rsi, 5
add rsi, rbx
cmp rbx, rsi
je 0x1400bfc88
cmp dword [rbx + 4], 3
jne 0x1400bfc7f
mov rdx, rbx
mov rcx, rdi
call qword [rbx + 0x10]
add rbx, 0x20
cmp rbx, rsi
jne 0x1400bfc70
mov rbx, qword [rsp + 0x80]
add rsp, 0x68
pop rdi
pop rsi
ret