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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x100
mov rax, qword [0x14023c8a0]
xor rax, rsp
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0x170]
xor esi, esi
mov r15, qword [rsp + 0x168]
movzx r11d, r9w
mov qword [rsp + 0xb8], rax
mov r10d, esi
movzx eax, word [rsp + 0x160]
mov edi, esi
mov word [rsp + 0x36], r9w
mov r9, rcx
mov qword [rsp + 0xb0], r8
mov r8, rdx
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x38], rsi
test ax, ax
je 0x14010d1fc
mov rax, qword [rcx]
mov rcx, qword [rax]
test byte [rcx + 0x60], 0x40
jne 0x14010db7b
movzx eax, word [rsp + 0x160]
movzx ebp, word [rdx]
mov word [rsp + 0x6a], bp
cmp ebp, 0x3f
ja 0x14010db7b
mov r14d, esi
mov dword [rsp + 0x50], ebp
mov ecx, ebp
mov qword [rsp + 0xa8], rsi
mov edx, 0x803
mov dword [rsp + 0x6c], esi
mov ebx, 1
mov r12b, 1
shl rbx, cl
mov r13d, ebp
dec rbx
mov dword [rsp + 0x30], r12d
test dx, r11w
mov qword [rsp + 0x88], rbx
mov rcx, rsi
setne r14b
mov qword [rsp + 0x80], rcx
add r14w, 0x182
xor edx, edx
mov dword [rsp + 0x48], r14d
mov qword [rsp + 0x98], rdx
nop dword [rax]
cmp rdi, rbx
jae 0x14010db24
movzx eax, ax
cmp esi, eax
jg 0x14010db47
test esi, esi
jle 0x14010d294
or rcx, qword [r10 + 8]
mov qword [rsp + 0x80], rcx
cmp esi, eax
jge 0x14010d2bb
bt r11w, 0xb
mov rax, qword [rsp + 0xb0]
mov rax, qword [rax + 0x18]
mov rsi, qword [rax + rdx*8]
mov qword [rsp + 0x60], rsi
jb 0x14010daf1
jmp 0x14010d2c3
mov rsi, r15
mov qword [rsp + 0x60], r15
mov edx, dword [rsi + 0x38]
bt edx, 0xa
jb 0x14010db2d
movzx eax, r11w
mov ecx, 0x80
and ax, cx
mov word [rsp + 0x68], ax
je 0x14010d2e9
xor eax, eax
mov word [rsi + 0x1e], ax
movzx eax, byte [rsi + 0x10]
imul rcx, rax, 0x68
mov rax, qword [r9 + 8]
xor r9d, r9d
mov ebp, r9d
mov r10d, dword [rcx + rax + 0x4c]
mov dword [rsp + 0x40], r10d
test r13d, r13d
je 0x14010d415
mov r12, qword [rsp + 0x70]
lea r14, [r8 + 8]
mov r15d, r9d
nop word [rax + rax]
mov eax, ebp
bt rdi, rax
jb 0x14010d3e9
mov rbx, qword [r14]
test rbx, rbx
je 0x14010d3e9
nop dword [rax + rax]
mov eax, dword [rbx + 4]
test eax, 0x82000
je 0x14010d368
bt eax, 0x13
jae 0x14010d35a
mov rax, qword [rbx + 0x20]
mov rbx, qword [rax + 8]
jmp 0x14010d35e
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x14010d340
jmp 0x14010d3e9
movzx eax, byte [rbx]
add al, 0x59
test al, 0xfd
jne 0x14010d3e9
cmp dword [rbx + 0x2c], r10d
jne 0x14010d3e9
movzx eax, word [rsp + 0x48]
lea rcx, [r12 + 0x70]
mov r9, qword [rsp + 0x80]
xor edx, edx
movsx r8d, word [rbx + 0x30]
not r9
mov qword [rsp + 0x28], rdx
mov edx, r10d
mov dword [rsp + 0x20], eax
call fcn.1401142e0
mov rdi, rax
test rax, rax
je 0x14010d3df
movzx r9d, word [rax + 0x14]
cmp r9w, 1
jne 0x14010d44c
movzx edx, word [rsi + 0x3c]
xor eax, eax
mov ecx, eax
test edx, edx
je 0x14010d448
mov r8, qword [rsi + 0x48]
movsxd rax, ecx
cmp rdi, qword [r8 + rax*8]
je 0x14010d448
inc ecx
cmp ecx, edx
jl 0x14010d3d0
mov rdi, qword [rsp + 0x38]
mov r10d, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
inc ebp
inc r15
add r14, 0x20
cmp ebp, r13d
jl 0x14010d320
mov r12d, dword [rsp + 0x30]
xor r9d, r9d
mov edx, dword [rsi + 0x38]
mov r8, qword [rsp + 0x58]
mov r14d, dword [rsp + 0x48]
bt edx, 0xc
jb 0x14010d95d
bt edx, 8
jae 0x14010d522
mov ebp, dword [rsp + 0x30]
mov r13, r9
mov qword [rsp + 0xa0], r9
mov eax, 1
mov word [rsp + 0x4c], r9w
jmp 0x14010d56a
cmp ecx, edx
jge 0x14010d3df
test r9b, 0x82
je 0x14010d4f1
cmp word [rbx + 0x30], 0
jl 0x14010d4f1
mov rbx, qword [r12]
mov rdx, qword [r14]
mov rcx, rbx
call fcn.14017d7c0
mov rsi, rax
test rax, rax
jne 0x14010d47f
mov rax, qword [rbx]
mov rsi, qword [rax + 0x10]
mov rax, qword [rdi]
test dword [rax + 4], 0x400
je 0x14010d495
mov rdi, qword [rax + 0x10]
mov rdx, qword [rax + 0x18]
jmp 0x14010d49d
mov rdi, qword [rax + 0x18]
mov rdx, qword [rax + 0x10]
test dword [rdx + 4], 0x200
jne 0x14010d4c4
test rdi, rdi
je 0x14010d4b4
test dword [rdi + 4], 0x200
jne 0x14010d4c1
mov rcx, rbx
call fcn.14017d7c0
test rax, rax
jne 0x14010d4d5
mov rdx, rdi
mov rcx, rbx
call fcn.14017d7c0
test rax, rax
je 0x14010d3df
mov r8, qword [rsi]
mov r9, qword [rax]
sub r9, r8
nop
movzx ecx, byte [r8]
movzx eax, byte [r9 + r8]
cmp ecx, eax
jne 0x14010d504
test ecx, ecx
jne 0x14010d51d
mov rdi, qword [rsp + 0x38]
bts rdi, r15
mov qword [rsp + 0x38], rdi
jmp 0x14010d3e4
lea r10, [0x140207e60]
movzx edx, byte [rax + r10]
movzx ecx, byte [rcx + r10]
cmp ecx, edx
jne 0x14010d3df
inc r8
jmp 0x14010d4e0
mov r13, qword [rsi + 0x20]
mov qword [rsp + 0xa0], r13
test r13, r13
je 0x14010db7b
test byte [r13 + 0x64], 4
jne 0x14010db7b
cmp byte [r13 + 0x62], 0
movzx eax, word [r13 + 0x5e]
mov word [rsp + 0x4c], ax
movzx eax, word [r13 + 0x60]
je 0x14010d563
bt edx, 0xf
jb 0x14010d563
mov bpl, 1
jmp 0x14010d566
xor bpl, bpl
mov dword [rsp + 0x30], ebp
xor cl, cl
movzx eax, ax
xor r11b, r11b
mov byte [rsp + 0x35], cl
mov byte [rsp + 0x34], cl
mov r15d, r9d
mov dword [rsp + 0x44], r11d
mov dword [rsp + 0x78], eax
test eax, eax
je 0x14010d953
nop
movzx r10d, word [rsi + 0x18]
mov bl, 1
cmp r15d, r10d
jge 0x14010d60a
movzx eax, word [rsi + 0x3e]
cmp r15d, eax
jl 0x14010d60a
mov r9, qword [rsi + 0x48]
movsxd rax, r15d
mov rcx, qword [r9 + rax*8]
movzx eax, word [rcx + 0x14]
test r14w, ax
je 0x14010d5de
mov ecx, 0x180
mov r9d, 0
test cx, ax
movzx eax, bpl
mov ecx, r9d
cmove ecx, eax
movzx ebp, cl
mov dword [rsp + 0x30], ebp
jmp 0x14010d925
test bl, al
je 0x14010d607
mov r8, qword [rcx]
lea edx, [r15 + 1]
cmp edx, r10d
jge 0x14010d607
nop
movsxd rax, edx
mov rcx, qword [r9 + rax*8]
cmp qword [rcx], r8
je 0x14010d605
inc edx
cmp edx, r10d
jl 0x14010d5f0
jmp 0x14010d607
xor bl, bl
xor r9d, r9d
test r13, r13
je 0x14010d637
mov rax, qword [r13 + 8]
movsxd rcx, r15d
movsx r14d, word [rax + rcx*2]
mov rax, qword [r13 + 0x38]
movzx r12d, byte [rcx + rax]
mov rax, qword [r13 + 0x18]
and r12b, 1
movsx ecx, word [rax + 0x34]
cmp r14d, ecx
jne 0x14010d640
jmp 0x14010d63a
xor r12b, r12b
mov r14d, 0xffffffff
test bpl, bpl
je 0x14010d67c
test r14d, r14d
js 0x14010d66c
cmp r15d, r10d
jl 0x14010d67c
movsxd rax, r14d
lea rdx, [rax + rax*2]
mov rax, qword [r13 + 0x18]
mov rcx, qword [rax + 8]
test byte [rcx + rdx*8 + 8], 0xf
jne 0x14010d67c
mov byte [rsp + 0x30], 0
jmp 0x14010d67c
cmp r14d, 0xfffffffe
movzx ebp, bpl
cmove ebp, r9d
mov dword [rsp + 0x30], ebp
mov ebp, r9d
test bl, bl
je 0x14010d81d
nop word [rax + rax]
cmp ebp, dword [rsp + 0x50]
jge 0x14010d813
mov eax, ebp
bt rdi, rax
jb 0x14010d809
movsxd rsi, ebp
shl rsi, 5
add rsi, qword [rsp + 0x58]
mov rdx, qword [rsi + 8]
test rdx, rdx
je 0x14010d809
nop
mov eax, dword [rdx + 4]
test eax, 0x82000
je 0x14010d6e8
bt eax, 0x13
jae 0x14010d6da
mov rdx, qword [rdx + 0x20]
mov rdx, qword [rdx + 8]
jmp 0x14010d6de
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x14010d6c0
jmp 0x14010d809
test byte [rsp + 0x36], 0xc0
mov ecx, r9d
movzx eax, bl
cmovne ecx, eax
movzx ebx, cl
movzx edi, cl
cmp r14d, 0xffffffff
jl 0x14010d72d
movzx eax, byte [rdx]
cmp al, 0xa7
je 0x14010d711
cmp al, 0xa9
jne 0x14010d804
mov eax, dword [rsp + 0x40]
cmp dword [rdx + 0x2c], eax
jne 0x14010d804
movsx eax, word [rdx + 0x30]
cmp eax, r14d
jne 0x14010d804
jmp 0x14010d799
mov rax, qword [r13 + 0x50]
movsxd rcx, r15d
shl rcx, 5
mov r8, qword [rcx + rax + 8]
test r8, r8
je 0x14010d766
mov eax, dword [r8 + 4]
test eax, 0x82000
je 0x14010d766
bt eax, 0x13
jae 0x14010d75d
mov rax, qword [r8 + 0x20]
mov r8, qword [rax + 8]
jmp 0x14010d761
mov r8, qword [r8 + 0x10]
test r8, r8
jne 0x14010d742
mov eax, dword [rdx + 4]
test eax, 0x82000
je 0x14010d789
bt eax, 0x13
jae 0x14010d780
mov rax, qword [rdx + 0x20]
mov rdx, qword [rax + 8]
jmp 0x14010d784
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x14010d766
mov r9d, dword [rsp + 0x40]
xor ecx, ecx
call fcn.140172770
test eax, eax
jne 0x14010d801
cmp r14d, 0xffffffff
je 0x14010d85a
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsi + 8]
mov rbx, qword [rax]
mov rcx, rbx
call fcn.14017d7c0
test rax, rax
jne 0x14010d7c3
mov rax, qword [rbx]
mov rax, qword [rax + 0x10]
mov r8, qword [rax]
mov rax, qword [r13 + 0x40]
lea r13, [0x140207e60]
movsxd rcx, r15d
mov r9, qword [rax + rcx*8]
sub r9, r8
nop dword [rax + rax]
movzx edx, byte [r8]
movzx eax, byte [r9 + r8]
cmp edx, eax
jne 0x14010d847
test edx, edx
jne 0x14010d855
mov r13, qword [rsp + 0xa0]
movzx ebx, dil
test edx, edx
je 0x14010d85a
xor r9d, r9d
mov rdi, qword [rsp + 0x38]
inc ebp
test bl, bl
jne 0x14010d690
mov r11d, dword [rsp + 0x44]
mov rsi, qword [rsp + 0x60]
mov r8, qword [rsp + 0x58]
test r15d, r15d
je 0x14010d835
movzx eax, word [rsp + 0x4c]
cmp r15d, eax
jge 0x14010d935
mov rdi, qword [rsp + 0x38]
xor r12b, r12b
mov dword [rsp + 0x30], r12d
jmp 0x14010d93f
movzx ecx, byte [rax + r13]
movzx edx, byte [rdx + r13]
sub edx, ecx
jne 0x14010d7f1
inc r8
jmp 0x14010d7e0
cmp word [rsp + 0x68], 0
mov rsi, qword [rsp + 0x60]
je 0x14010d86f
lea eax, [r15 + 1]
mov word [rsi + 0x1e], ax
test byte [rsp + 0x36], 0x40
mov r8, qword [rsp + 0x58]
jne 0x14010d8ce
movsxd rax, ebp
shl rax, 5
movzx ecx, byte [rax + r8 + 0x18]
and cl, 1
cmp byte [rsp + 0x35], 0
je 0x14010d8a6
xor r12b, byte [rsp + 0x34]
cmp r12b, cl
je 0x14010d8ce
mov r11d, dword [rsp + 0x44]
jmp 0x14010d822
movzx edx, r12b
xor dl, cl
mov byte [rsp + 0x34], dl
je 0x14010d8c9
mov rdx, qword [rsp + 0xb8]
movsxd rax, dword [rsp + 0x6c]
mov rcx, qword [rdx]
bts rcx, rax
mov qword [rdx], rcx
mov byte [rsp + 0x35], 1
movsxd rcx, ebp
mov rax, rcx
shl rax, 5
test byte [rax + r8 + 0x18], 2
je 0x14010d8f0
movzx eax, word [rsi + 0x18]
cmp r15d, eax
jne 0x14010d89c
or dword [rsi + 0x38], 0x80000
mov r11d, dword [rsp + 0x44]
cmp r14d, 0xffffffff
mov rdi, qword [rsp + 0x38]
mov eax, 1
mov ebp, dword [rsp + 0x30]
mov r14d, dword [rsp + 0x48]
movzx r11d, r11b
cmove r11d, eax
bts rdi, rcx
mov qword [rsp + 0x38], rdi
xor r9d, r9d
mov dword [rsp + 0x44], r11d
inc r15d
cmp r15d, dword [rsp + 0x78]
jl 0x14010d590
jmp 0x14010d93a
mov rdi, qword [rsp + 0x38]
mov r12d, dword [rsp + 0x30]
mov r13d, dword [rsp + 0x50]
test r11b, r11b
je 0x14010d95d
mov r12b, 1
mov dword [rsp + 0x30], r12d
jmp 0x14010d966
mov r12d, dword [rsp + 0x30]
mov r13d, dword [rsp + 0x50]
test r12b, r12b
je 0x14010dac9
mov r14, qword [rsp + 0xa8]
xor r10d, r10d
or r14, qword [rsi + 8]
mov esi, r10d
mov qword [rsp + 0xa8], r14
test r13d, r13d
je 0x14010dac9
mov r12, qword [rsp + 0x70]
nop
mov eax, esi
bt rdi, rax
jb 0x14010dab4
mov eax, esi
shl rax, 5
mov ebp, esi
mov rdi, qword [rax + r8 + 8]
lea rax, [r12 + 0x258]
test rdi, rdi
je 0x14010da0a
cmp byte [rdi], 0xa7
jne 0x14010da89
test byte [rdi + 4], 0x20
jne 0x14010da89
mov r8d, dword [rdi + 0x2c]
cmp dword [rax + 8], r8d
jne 0x14010d9da
mov ebx, 1
jmp 0x14010da0d
movsxd r9, dword [rax + 4]
mov r11d, 1
mov edx, r11d
mov ecx, r11d
cmp r11, r9
jge 0x14010da0a
add rax, 0xc
cmp dword [rax], r8d
je 0x14010da7f
inc edx
inc rcx
add rax, 4
cmp rcx, r9
jl 0x14010d9f3
mov rbx, r10
test rbx, rbx
jne 0x14010da64
mov dword [rsp + 0xe8], r10d
mov eax, 1
mov word [rsp + 0xe4], ax
lea rax, [fcn.140179a20]
mov qword [rsp + 0xc8], rax
lea rax, [0x140179db0]
mov qword [rsp + 0xd0], rax
test rdi, rdi
je 0x14010da64
mov rdx, rdi
lea rcx, [rsp + 0xc0]
call fcn.1401822e0
cmp word [rsp + 0xe4], bx
je 0x14010daac
mov rdi, qword [rsp + 0x38]
mov rax, r14
not rax
test rbx, rax
jne 0x14010dab1
bts rdi, rbp
mov qword [rsp + 0x38], rdi
jmp 0x14010dab1
mov ecx, edx
mov rbx, r11
shl rbx, cl
jmp 0x14010da0d
test dword [rdi + 4], 0x810000
jne 0x14010da0a
mov rdx, rdi
mov rcx, rax
call fcn.140115510
mov rbx, rax
xor r10d, r10d
jmp 0x14010da0d
mov rdi, qword [rsp + 0x38]
xor r10d, r10d
mov r8, qword [rsp + 0x58]
inc esi
cmp esi, r13d
jl 0x14010d990
mov r12d, dword [rsp + 0x30]
mov r9, qword [rsp + 0x70]
movzx r11d, word [rsp + 0x36]
mov r14d, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x88]
mov r15, qword [rsp + 0x90]
mov esi, dword [rsp + 0x6c]
inc qword [rsp + 0x98]
inc esi
mov r10, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x98]
movzx eax, word [rsp + 0x160]
mov dword [rsp + 0x6c], esi
test r12b, r12b
jne 0x14010d270
cmp rdi, rbx
jne 0x14010db47
movzx eax, byte [rsp + 0x6a]
jmp 0x14010db7d
cmp byte [rsi + 0x20], 0
je 0x14010db47
mov eax, 0x280
and r11w, ax
mov eax, 0x80
cmp r11w, ax
jne 0x14010db26
test r12b, r12b
jne 0x14010dbad
lea ecx, [r13 - 1]
test ecx, ecx
jle 0x14010db7b
cmp ecx, 0x40
jge 0x14010db66
mov edx, 1
shl rdx, cl
dec rdx
jmp 0x14010db6a
xor eax, eax
mov edx, eax
mov rax, rdx
and rax, rdi
cmp rax, rdx
je 0x14010dba8
dec ecx
test ecx, ecx
jg 0x14010db54
xor al, al
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.1400b1c90
mov rbx, qword [rsp + 0x158]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
movzx eax, cl
jmp 0x14010db7d
mov al, 0xff
jmp 0x14010db7d