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

Disassembly:
mov r11, rsp
push rsi
push rdi
sub rsp, 0x68
mov rsi, qword [0x1401acd00]
mov rdi, rsi
mov eax, dword [rsi + 0x4098]
cmp dword [rsi + 0x409c], eax
je 0x14008e7e0
mov qword [r11 + 8], rbx
mov rbx, qword [rsi + 0x61b8]
mov qword [r11 + 0x10], rbp
movsxd rbp, dword [rsi + 0x61b0]
shl rbp, 5
mov qword [r11 + 0x18], r12
add rbp, rbx
mov qword [r11 + 0x20], r14
mov qword [r11 - 0x18], r15
cmp rbx, rbp
je 0x14008e0a2
cmp dword [rbx + 4], 2
jne 0x14008e092
mov rdx, rbx
mov rcx, rdi
call qword [rbx + Ordinal_17]
add rbx, 0x20
cmp rbx, rbp
jne 0x14008e083
mov rsi, qword [0x1401acd00]
cmp dword [rsi + 0x4110], 2
jl 0x14008e0c5
nop dword [rax + rax]
call fcn.14008d8c0
cmp dword [rsi + 0x4110], 1
jg 0x14008e0b0
mov rsi, qword [0x1401acd00]
xor r12d, r12d
lea r14, [rdi + 0x6100]
cmp qword [rdi + 0xc8], r12
je 0x14008e182
mov rax, qword [r14]
cmp rax, qword [rdi + 0x6110]
jne 0x14008e0f9
mov rax, qword [r14 + 8]
cmp rax, qword [rdi + 0x6118]
je 0x14008e182
mov rcx, qword [rsi + 0x4c80]
movsxd rax, dword [rsi + 0x4c78]
lea rdx, [rcx + rax*8]
cmp rcx, rdx
je 0x14008e126
mov eax, dword [rdi + 0x6120]
mov rbx, qword [rcx]
cmp dword [rbx], eax
je 0x14008e129
add rcx, 8
cmp rcx, rdx
jne 0x14008e116
mov rbx, r12
test byte [rdi + 0x6264], 0x40
je 0x14008e167
vmovss xmm3, dword [r14 + 8]
vmovss xmm2, dword [r14 + 4]
movzx edx, byte [r14]
lea rcx, str._io__Calling_io.SetPlatformImeDataFn__:_WantVisible:__d__InputPos___.2f__.2f__n
vcvtss2sd xmm3, xmm3, xmm3
vcvtss2sd xmm2, xmm2, xmm2
vmovq r9, xmm3
vmovq r8, xmm2
call fcn.1400845b0
mov rsi, qword [0x1401acd00]
test rbx, rbx
jne 0x14008e176
mov rax, qword [rsi + 0x4c80]
mov rbx, qword [rax]
mov rdx, r14
mov rcx, rbx
call qword [rdi + 0xc8]
mov rax, qword [rdi + 0x4140]
mov byte [rdi + 0x40a9], r12b
test rax, rax
je 0x14008e1a5
cmp byte [rax + 0xf5], r12b
jne 0x14008e1a5
mov byte [rax + 0xf3], r12b
call fcn.14008d8c0
mov rcx, qword [0x1401acd00]
mov rbx, rcx
cmp qword [rcx + 0x4ee0], r12
je 0x14008e1c9
call fcn.1400980a0
mov rcx, qword [0x1401acd00]
cmp qword [rbx + 0x4cf0], r12
je 0x14008e207
cmp byte [rcx + 0x4d91], r12b
je 0x14008e207
cmp dword [rcx + 0x4de0], r12d
jne 0x14008e207
cmp dword [rcx + 0x4e60], r12d
jne 0x14008e207
mov eax, dword [rbx + 0x4d94]
test al, 0xf
je 0x14008e207
test al, al
js 0x14008e207
call fcn.1400970c0
mov rcx, qword [0x1401acd00]
mov ebp, r12d
cmp dword [rdi + 0x6128], r12d
jle 0x14008e36d
mov r14, r12
nop word [rax + rax]
mov rax, qword [rdi + 0x6130]
mov rsi, qword [r14 + rax + 8]
test rsi, rsi
je 0x14008e35b
mov eax, dword [rdi + 0x4098]
cmp dword [rsi + 0xb0], eax
jne 0x14008e35b
movzx eax, byte [rsi + 0xcc]
test al, 1
je 0x14008e35b
mov rdx, qword [rsi + 0x88]
test rdx, rdx
je 0x14008e35b
cmp qword [rsi + 0x20], r12
jne 0x14008e35b
test al, 4
jne 0x14008e35b
vmovss xmm0, dword [rcx + 0x3a38]
vaddss xmm1, xmm0, dword [rcx + 0x3e78]
vmovss xmm2, dword [rsi + 0x4c]
vaddss xmm3, xmm2, dword [rsi + 0x54]
vmovss xmm5, dword [rsi + 0x48]
vaddss xmm4, xmm5, dword [rsi + 0x50]
vmovss dword [rsp + 0x30], xmm5
vmovss dword [rsp + 0x38], xmm4
vmovss dword [rsp + 0x3c], xmm3
vaddss xmm0, xmm0, xmm2
vaddss xmm2, xmm1, xmm0
vmovss dword [rsp + 0x34], xmm2
vmovss xmm3, dword [rdx + 0x5c]
vmovss xmm0, dword [rdx + 0x58]
vaddss xmm4, xmm3, dword [rdx + 0x64]
vaddss xmm1, xmm0, dword [rdx + 0x60]
vmovss xmm2, dword [rdi + 0x3acc]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x30]
vmovss dword [rsp + 0x48], xmm1
vmovss dword [rsp + 0x4c], xmm4
vmovss dword [rsp + 0x40], xmm0
vmovss dword [rsp + 0x44], xmm3
call fcn.1400aabb0
mov rcx, qword [rsi + 0x88]
xor r8d, r8d
mov ebx, eax
mov rdx, qword [rcx + 0x2e0]
lea rcx, [rdx + 0xa8]
call fcn.1400b01d0
mov rcx, qword [rsi + 0x88]
lea r8, [rsp + 0x38]
mov r9d, dword [rsi + 0x84]
lea rdx, [rsp + 0x30]
mov dword [rsp + 0x28], ebx
vmovss xmm0, dword [rcx + 0x90]
mov rcx, qword [rcx + 0x2e0]
vmovss dword [rsp + 0x20], xmm0
call fcn.1400aa290
mov rcx, qword [0x1401acd00]
inc ebp
add r14, 0x10
cmp ebp, dword [rdi + 0x6128]
jl 0x14008e220
cmp qword [rcx + 0x4c90], r12
je 0x14008e387
mov dword [rcx + 0x4c88], 0x3f800000
mov qword [rcx + 0x4c90], r12
cmp byte [rdi + 0x4f18], r12b
je 0x14008e40a
mov eax, dword [rdi + 0x4f3c]
inc eax
cmp eax, dword [rdi + 0x4098]
jge 0x14008e3bc
test byte [rdi + 0x4f1c], 0x20
jne 0x14008e3b8
mov ecx, dword [rdi + 0x4f24]
call fcn.140093330
test al, al
jne 0x14008e3bc
mov al, 1
jmp 0x14008e3be
xor al, al
cmp byte [rdi + 0x4f62], r12b
jne 0x14008e3cb
test al, al
je 0x14008e3d0
call fcn.140083690
cmp byte [rdi + 0x4f18], r12b
je 0x14008e40a
mov eax, dword [rdi + 0x4098]
cmp dword [rdi + 0x4f20], eax
jge 0x14008e40a
test byte [rdi + 0x4f1c], 1
jne 0x14008e40a
lea rcx, [0x14014f310]
mov byte [rdi + 0x4f19], 1
call fcn.14009fde0
mov byte [rdi + 0x4f19], r12b
mov eax, dword [rdi + 0x4098]
mov dword [rdi + 0x409c], eax
mov byte [rdi + 0x40a8], r12b
mov rbx, qword [0x1401acd00]
cmp dword [rbx + 0x41a4], r12d
jne 0x14008e567
cmp dword [rbx + 0x4190], r12d
jne 0x14008e567
mov rbp, qword [rbx + 0x4cf0]
test rbp, rbp
je 0x14008e457
cmp byte [rbp + 0xf9], r12b
jne 0x14008e567
cmp byte [rbx + 0x3870], r12b
je 0x14008e529
mov r14, qword [rbx + 0x4148]
test r14, r14
je 0x14008e4a2
mov rsi, qword [r14 + 0x3c0]
test rsi, rsi
je 0x14008e518
test dword [rsi + 0x14], 0x4000000
je 0x14008e4a5
mov ecx, dword [rsi + 0x10c]
mov edx, 0x100
call fcn.140093670
test al, al
jne 0x14008e4a5
jmp 0x14008e529
mov rsi, r12
test rsi, rsi
je 0x14008e518
mov rcx, r14
call fcn.1400a0960
cmp byte [rbx + 0x67], r12b
je 0x14008e506
test byte [rsi + 0x14], 1
je 0x14008e4c7
test byte [rsi + 0x43d], 1
je 0x14008e506
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.1400a0d60
vmovss xmm1, dword [rbx + 0x381c]
vcomiss xmm1, dword [rax]
jb 0x14008e4ff
vmovss xmm0, dword [rbx + 0x3820]
vcomiss xmm0, dword [rax + 4]
jb 0x14008e4ff
vcomiss xmm1, dword [rax + 8]
jae 0x14008e4ff
vcomiss xmm0, dword [rax + 0xc]
jb 0x14008e506
mov qword [rbx + 0x4158], r12
cmp byte [rbx + 0x4199], r12b
je 0x14008e529
mov qword [rbx + 0x4158], r12
jmp 0x14008e529
test rbp, rbp
je 0x14008e529
mov edx, 2
xor ecx, ecx
call fcn.14008fbf0
cmp byte [rbx + 0x3871], r12b
je 0x14008e567
call fcn.140091290
mov rbx, qword [rbx + 0x4148]
mov rsi, rax
test rbx, rbx
je 0x14008e55a
test rax, rax
je 0x14008e55d
mov rdx, rax
mov rcx, rbx
call fcn.140093780
test al, al
jne 0x14008e55d
mov rbx, rsi
mov dl, 1
mov rcx, rbx
call fcn.1400839f0
mov r14, qword [0x1401acd00]
lea rsi, [r14 + 0x39e8]
mov ecx, dword [rsi + 4]
test ecx, ecx
jns 0x14008e595
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.1400a7090
mov dword [rsi], r12d
mov r15d, r12d
cmp dword [r14 + 0x4c78], r12d
jle 0x14008e669
vmovaps xmmword [rsp + 0x50], xmm6
mov rbp, r12
vxorps xmm6, xmm6, xmm6
nop word [rax + rax]
mov rax, qword [r14 + 0x4c80]
mov rbx, qword [rax + rbp*8]
vmovsd xmm0, qword [rbx + 8]
vmovsd qword [rbx + 0x78], xmm0
mov eax, dword [r14 + 0x4098]
cmp dword [rbx + 0x6c], eax
jl 0x14008e5ef
vcomiss xmm6, dword [rbx + 0x10]
jae 0x14008e5ef
vcomiss xmm6, dword [rbx + 0x14]
jb 0x14008e5f4
test rbp, rbp
jg 0x14008e650
mov rax, qword [rbx + 0x60]
test rax, rax
je 0x14008e60f
cmp byte [rax + 0xf3], r12b
je 0x14008e650
cmp byte [rax + 0xfa], r12b
jne 0x14008e650
mov r8d, dword [rsi]
mov ecx, dword [rsi + 4]
cmp r8d, ecx
jne 0x14008e643
inc r8d
test ecx, ecx
je 0x14008e62c
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14008e631
mov eax, 8
cmp eax, r8d
mov rcx, rsi
cmovg r8d, eax
mov edx, r8d
call fcn.1400a7090
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 + 0x4c78]
jl 0x14008e5c0
vmovaps xmm6, xmmword [rsp + 0x50]
mov rax, qword [r14 + 0x4c80]
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 + 0x4104]
test ecx, ecx
jns 0x14008e6b0
mov eax, ecx
cdq
sub eax, edx
mov edx, r12d
sar eax, 1
add eax, ecx
lea rcx, [rdi + 0x4100]
test eax, eax
cmovg edx, eax
call fcn.1400a7090
mov dword [rdi + 0x4100], r12d
lea rcx, [rdi + 0x4100]
mov edx, dword [rdi + 0x40e0]
call fcn.1400a7090
mov rbx, qword [rdi + 0x40e8]
movsxd rax, dword [rdi + 0x40e0]
lea rbp, [rbx + rax*8]
cmp rbx, rbp
je 0x14008e70a
mov rdx, qword [rbx]
cmp byte [rdx + 0xf3], r12b
je 0x14008e6f5
test dword [rdx + 0x14], 0x1000000
jne 0x14008e701
lea rcx, [rdi + 0x4100]
call fcn.14007de80
add rbx, 8
cmp rbx, rbp
jne 0x14008e6e0
mov ecx, dword [rdi + 0x4100]
xor edx, edx
mov eax, dword [rdi + 0x40e0]
mov dword [rdi + 0x4100], eax
mov eax, dword [rdi + 0x40e4]
mov dword [rdi + 0x40e0], ecx
mov ecx, dword [rdi + 0x4104]
mov dword [rdi + 0x4104], eax
mov rax, qword [rdi + 0x40e8]
mov dword [rdi + 0x40e4], ecx
mov rcx, qword [rdi + 0x4108]
mov qword [rdi + 0x4108], rax
mov eax, dword [rdi + 0x4130]
mov qword [rdi + 0x40e8], rcx
lea rcx, [rdi + 0x3910]
mov dword [rdi + 0xec], eax
mov rax, qword [rdi + 0x38]
mov byte [rax + 0x18], r12b
vmovsd xmm0, qword [rdi + 0xe48]
vmovsd qword [rdi + 0x3814], xmm0
mov byte [rdi + 0x3908], r12b
mov qword [rdi + 0xe58], r12
call fcn.1400a7370
mov rbx, qword [rdi + 0x61b8]
movsxd rsi, dword [rdi + 0x61b0]
mov r12, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x88]
shl rsi, 5
add rsi, rbx
cmp rbx, rsi
je 0x14008e7d8
cmp dword [rbx + 4], 3
jne 0x14008e7cf
mov rdx, rbx
mov rcx, rdi
call qword [rbx + Ordinal_17]
add rbx, 0x20
cmp rbx, rsi
jne 0x14008e7c0
mov rbx, qword [rsp + 0x80]
add rsp, 0x68
pop rdi
pop rsi
ret