Function at 0x1400d2570
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, 0x110
mov rax, qword [0x14011c040]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x180]
movzx r10d, r9w
mov r14, qword [rsp + 0x178]
mov r13, rcx
mov qword [rsp + 0xc0], r8
xor r8d, r8d
mov qword [rsp + 0xc8], rax
mov ebx, r8d
movzx eax, word [rsp + 0x170]
mov ebp, r8d
mov word [rsp + 0x34], r9w
mov r9, rdx
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0x98], r14
mov qword [rsp + 0x40], rbx
test ax, ax
je 0x1400d2611
mov rax, qword [rcx]
mov rcx, qword [rax]
test byte [rcx + 0x60], 0x40
jne 0x1400d2fa6
movzx eax, word [rsp + 0x170]
movzx edi, word [rdx]
mov word [rsp + 0x62], di
cmp edi, 0x3f
ja 0x1400d2fa6
mov ecx, edi
mov dword [rsp + 0x7c], edi
mov esi, r8d
mov qword [rsp + 0xb0], r8
mov edx, 1
mov qword [rsp + 0x70], r8
shl rdx, cl
mov r12d, edi
dec rdx
mov dword [rsp + 0x80], r8d
mov ecx, 0x803
mov qword [rsp + 0x90], rdx
test cx, r10w
mov r15b, 1
mov dword [rsp + 0x38], r15d
mov r11, r8
setne sil
add si, 0x182
xor edi, edi
mov dword [rsp + 0x50], esi
mov ecx, edi
mov qword [rsp + 0xa8], rcx
cmp rbx, rdx
jae 0x1400d2f3c
movzx eax, ax
cmp r8d, eax
jg 0x1400d2f67
test r8d, r8d
jle 0x1400d26a6
or r11, qword [rbp + 8]
mov qword [rsp + 0x70], r11
cmp r8d, eax
jge 0x1400d26d0
bt r10w, 0xb
mov rax, qword [rsp + 0xc0]
mov rax, qword [rax + 0x18]
mov r8, qword [rax + rcx*8]
mov qword [rsp + 0x58], r8
jae 0x1400d26d8
mov rbp, r8
jmp 0x1400d2efd
mov r8, r14
mov qword [rsp + 0x58], r14
test dword [r8 + 0x38], 0x400
jne 0x1400d2f4c
movzx eax, r10w
mov ecx, 0x80
and ax, cx
mov word [rsp + 0x78], ax
je 0x1400d2703
xor r10d, r10d
mov word [r8 + 0x1e], r10w
jmp 0x1400d2706
xor r10d, r10d
movzx eax, byte [r8 + 0x10]
mov ebp, r10d
imul rcx, rax, 0x68
mov rax, qword [r13 + 8]
mov edx, dword [rcx + rax + 0x4c]
mov dword [rsp + 0x48], edx
test r12d, r12d
je 0x1400d277d
mov r15d, dword [rsp + 0x50]
mov eax, ebp
bt rbx, rax
jb 0x1400d276d
mov esi, ebp
shl rsi, 5
add rsi, r9
mov r14d, ebp
mov rbx, qword [rsi + 8]
test rbx, rbx
je 0x1400d2768
mov eax, dword [rbx + 4]
test eax, 0x82000
je 0x1400d27b2
bt eax, 0x13
jae 0x1400d275f
mov rax, qword [rbx + 0x20]
mov rbx, qword [rax + 8]
jmp 0x1400d2763
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x1400d2745
mov rbx, qword [rsp + 0x40]
inc ebp
cmp ebp, r12d
jl 0x1400d2728
mov r15d, dword [rsp + 0x38]
mov esi, dword [rsp + 0x50]
mov eax, dword [r8 + 0x38]
bt eax, 0xc
jb 0x1400d2d63
bt eax, 8
jae 0x1400d2947
xor r9d, r9d
mov r11d, r9d
mov qword [rsp + 0x88], r9
mov word [rsp + 0x60], r9w
lea ecx, [r9 + 1]
jmp 0x1400d2993
movzx eax, byte [rbx]
add al, 0x59
test al, 0xfd
jne 0x1400d2768
cmp dword [rbx + 0x2c], edx
jne 0x1400d2768
movsx r8d, word [rbx + 0x30]
lea rcx, [r13 + 0x70]
mov r9, r11
movzx eax, r15w
mov qword [rsp + 0x28], r10
not r9
mov dword [rsp + 0x20], eax
call fcn.1400cc770
mov rdi, rax
test rax, rax
je 0x1400d2927
movzx r9d, word [rax + 0x14]
cmp r9w, 1
jne 0x1400d282d
mov r8, qword [rsp + 0x58]
xor r10d, r10d
mov ecx, r10d
movzx edx, word [r8 + 0x3c]
test edx, edx
je 0x1400d2825
mov r8, qword [r8 + 0x48]
movsxd rax, ecx
cmp rdi, qword [r8 + rax*8]
je 0x1400d2820
inc ecx
cmp ecx, edx
jl 0x1400d2811
mov r8, qword [rsp + 0x58]
cmp ecx, edx
jge 0x1400d2914
test r9b, 0x82
je 0x1400d28d1
cmp word [rbx + 0x30], 0
jl 0x1400d28d1
mov rbx, qword [r13]
mov rdx, qword [rsi + 8]
mov rcx, rbx
call fcn.140062640
mov rsi, rax
test rax, rax
jne 0x1400d2861
mov rax, qword [rbx]
mov rsi, qword [rax + 0x10]
mov rax, qword [rdi]
test dword [rax + 4], 0x400
je 0x1400d2877
mov rdi, qword [rax + 0x10]
mov rdx, qword [rax + 0x18]
jmp 0x1400d287f
mov rdi, qword [rax + 0x18]
mov rdx, qword [rax + 0x10]
test dword [rdx + 4], 0x200
jne 0x1400d28a6
test rdi, rdi
je 0x1400d2896
test dword [rdi + 4], 0x200
jne 0x1400d28a3
mov rcx, rbx
call fcn.140062640
test rax, rax
jne 0x1400d28b3
mov rdx, rdi
mov rcx, rbx
call fcn.140062640
test rax, rax
je 0x1400d28f9
mov r8, qword [rsi]
mov r9, qword [rax]
sub r9, r8
nop dword [rax]
movzx ecx, byte [r8]
movzx eax, byte [r9 + r8]
cmp ecx, eax
jne 0x1400d28e1
test ecx, ecx
jne 0x1400d28f4
mov rbx, qword [rsp + 0x40]
bts rbx, r14
mov qword [rsp + 0x40], rbx
jmp 0x1400d292c
lea rdi, [0x140105970]
movzx edx, byte [rax + rdi]
movzx ecx, byte [rcx + rdi]
cmp ecx, edx
jne 0x1400d28f9
inc r8
jmp 0x1400d28c0
mov edx, dword [rsp + 0x48]
xor r10d, r10d
mov r8, qword [rsp + 0x58]
mov r9, qword [rsp + 0x68]
mov r11, qword [rsp + 0x70]
jmp 0x1400d2768
mov edx, dword [rsp + 0x48]
mov r9, qword [rsp + 0x68]
mov r11, qword [rsp + 0x70]
jmp 0x1400d2768
mov rbx, qword [rsp + 0x40]
mov r11, qword [rsp + 0x70]
xor r10d, r10d
mov r9, qword [rsp + 0x68]
mov r8, qword [rsp + 0x58]
mov edx, dword [rsp + 0x48]
jmp 0x1400d276d
mov r11, qword [r8 + 0x20]
mov qword [rsp + 0x88], r11
test r11, r11
je 0x1400d2fa6
test byte [r11 + 0x64], 4
jne 0x1400d2fa6
cmp byte [r11 + 0x62], 0
movzx ecx, word [r11 + 0x5e]
mov word [rsp + 0x60], cx
movzx ecx, word [r11 + 0x60]
je 0x1400d2988
bt eax, 0xf
jb 0x1400d2988
mov r15b, 1
jmp 0x1400d298b
xor r15b, r15b
xor r9d, r9d
mov dword [rsp + 0x38], r15d
xor al, al
xor dil, dil
mov byte [rsp + 0x32], al
mov r13d, r9d
mov byte [rsp + 0x31], al
movzx eax, cx
mov dword [rsp + 0x4c], edi
mov dword [rsp + 0x84], eax
test eax, eax
je 0x1400d2d63
nop dword [rax]
movzx r10d, word [r8 + 0x18]
mov r12b, 1
cmp r13d, r10d
jge 0x1400d2a3b
movzx eax, word [r8 + 0x3e]
cmp r13d, eax
jl 0x1400d2a3b
mov r9, qword [r8 + 0x48]
movsxd rax, r13d
mov rcx, qword [r9 + rax*8]
movzx eax, word [rcx + 0x14]
test ax, si
je 0x1400d2a06
mov ecx, 0x180
test cx, ax
je 0x1400d2d45
xor r15b, r15b
mov dword [rsp + 0x38], r15d
jmp 0x1400d2d45
test r12b, al
je 0x1400d2a38
mov r8, qword [rcx]
lea edx, [r13 + 1]
cmp edx, r10d
jge 0x1400d2a38
nop word [rax + rax]
movsxd rax, edx
mov rcx, qword [r9 + rax*8]
cmp qword [rcx], r8
je 0x1400d2a35
inc edx
cmp edx, r10d
jl 0x1400d2a20
jmp 0x1400d2a38
xor r12b, r12b
xor r9d, r9d
test r11, r11
je 0x1400d2a71
mov rax, qword [r11 + 8]
movsxd rcx, r13d
movsx r14d, word [rax + rcx*2]
mov rax, qword [r11 + 0x38]
movzx edx, byte [rcx + rax]
mov rax, qword [r11 + 0x18]
and dl, 1
mov byte [rsp + 0x30], dl
movsx ecx, word [rax + 0x34]
mov eax, 0xffffffff
cmp r14d, ecx
cmove r14d, eax
jmp 0x1400d2a7e
mov eax, 0xffffffff
mov byte [rsp + 0x30], 0
mov r14d, eax
test r15b, r15b
je 0x1400d2abc
test r14d, r14d
js 0x1400d2aab
cmp r13d, r10d
jl 0x1400d2abc
movsxd rax, r14d
lea rdx, [rax + rax*2]
mov rax, qword [r11 + 0x18]
mov rcx, qword [rax + 8]
test byte [rcx + rdx*8 + 8], 0xf
jne 0x1400d2abc
xor al, al
mov dword [rsp + 0x38], eax
jmp 0x1400d2abc
cmp r14d, 0xfffffffe
movzx r15d, r15b
cmove r15d, r9d
mov dword [rsp + 0x38], r15d
mov esi, r9d
test r12b, r12b
je 0x1400d2c64
nop dword [rax + rax]
cmp esi, dword [rsp + 0x7c]
jge 0x1400d2c60
mov eax, esi
bt rbx, rax
jb 0x1400d2cc1
mov rbp, qword [rsp + 0x68]
movsxd r15, esi
mov rax, r15
shl rax, 5
add rbp, rax
mov rdx, qword [rbp + 8]
test rdx, rdx
je 0x1400d2cc1
mov eax, dword [rdx + 4]
test eax, 0x82000
je 0x1400d2b2d
bt eax, 0x13
jae 0x1400d2b1f
mov rax, qword [rdx + 0x20]
mov rdx, qword [rax + 8]
jmp 0x1400d2b23
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x1400d2b05
jmp 0x1400d2cc1
test byte [rsp + 0x34], 0xc0
movzx r12d, r12b
cmove r12d, r9d
cmp r14d, 0xffffffff
jl 0x1400d2b6c
movzx eax, byte [rdx]
add al, 0x59
test al, 0xfd
jne 0x1400d2cc1
mov eax, dword [rsp + 0x48]
cmp dword [rdx + 0x2c], eax
jne 0x1400d2cc1
movsx eax, word [rdx + 0x30]
cmp eax, r14d
jne 0x1400d2cc1
movsxd rdi, r13d
jmp 0x1400d2bc5
mov rax, qword [r11 + 0x50]
movsxd rdi, r13d
mov rcx, rdi
shl rcx, 5
mov r8, qword [rcx + rax + 8]
test r8, r8
je 0x1400d2b97
test dword [r8 + 4], 0x2000
je 0x1400d2b97
mov r8, qword [r8 + 0x10]
test r8, r8
jne 0x1400d2b84
test dword [rdx + 4], 0x2000
je 0x1400d2ba9
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x1400d2b97
mov r9d, dword [rsp + 0x48]
xor ecx, ecx
call fcn.14006e0f0
mov r11, qword [rsp + 0x88]
test eax, eax
jne 0x1400d2cbe
cmp r14d, 0xffffffff
je 0x1400d2c1d
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rbp + 8]
mov rbx, qword [rax]
mov rcx, rbx
call fcn.140062640
test rax, rax
jne 0x1400d2bee
mov rax, qword [rbx]
mov rax, qword [rax + 0x10]
mov r8, qword [rax]
mov r11, qword [rsp + 0x88]
mov rax, qword [r11 + 0x40]
mov r9, qword [rax + rdi*8]
sub r9, r8
movzx ecx, byte [r8]
movzx eax, byte [r9 + r8]
cmp ecx, eax
jne 0x1400d2c99
test ecx, ecx
jne 0x1400d2cb1
cmp word [rsp + 0x78], 0
mov r8, qword [rsp + 0x58]
je 0x1400d2c33
lea eax, [r13 + 1]
mov word [r8 + 0x1e], ax
test byte [rsp + 0x34], 0x40
jne 0x1400d2cfa
movzx eax, byte [rbp + 0x18]
and al, 1
cmp byte [rsp + 0x32], 0
je 0x1400d2cce
movzx ecx, byte [rsp + 0x30]
xor cl, byte [rsp + 0x31]
cmp cl, al
je 0x1400d2cfa
mov edi, dword [rsp + 0x4c]
test r13d, r13d
je 0x1400d2c73
movzx eax, word [rsp + 0x60]
cmp r13d, eax
jge 0x1400d2c79
xor al, al
mov dword [rsp + 0x38], eax
mov rbx, qword [rsp + 0x40]
mov r12d, dword [rsp + 0x7c]
test dil, dil
je 0x1400d2d5e
mov r15b, 1
mov dword [rsp + 0x38], r15d
jmp 0x1400d2d6c
lea r10, [0x140105970]
movzx edx, byte [rax + r10]
mov rax, rcx
movzx ecx, byte [rcx + r10]
cmp ecx, edx
jne 0x1400d2cb9
inc r8
jmp 0x1400d2c04
mov rbx, qword [rsp + 0x40]
xor r9d, r9d
inc esi
test r12b, r12b
jne 0x1400d2ad0
jmp 0x1400d2c60
movzx ebx, byte [rsp + 0x30]
xor bl, al
mov byte [rsp + 0x31], bl
je 0x1400d2cf5
mov rdx, qword [rsp + 0xc8]
movsxd rax, dword [rsp + 0x80]
mov rcx, qword [rdx]
bts rcx, rax
mov qword [rdx], rcx
mov byte [rsp + 0x32], 1
test byte [rbp + 0x18], 2
je 0x1400d2d16
movzx eax, word [r8 + 0x18]
cmp r13d, eax
jne 0x1400d2c60
or dword [r8 + 0x38], 0x80000
mov edi, dword [rsp + 0x4c]
cmp r14d, 0xffffffff
mov rbx, qword [rsp + 0x40]
mov eax, 1
mov esi, dword [rsp + 0x50]
movzx edi, dil
cmove edi, eax
bts rbx, r15
mov r15d, dword [rsp + 0x38]
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x4c], edi
inc r13d
cmp r13d, dword [rsp + 0x84]
jge 0x1400d2c7e
xor r9d, r9d
jmp 0x1400d29c0
mov r15d, dword [rsp + 0x38]
test r15b, r15b
je 0x1400d2f45
mov r14, qword [rsp + 0xb0]
xor r11d, r11d
mov rbp, qword [rsp + 0x58]
mov esi, r11d
or r14, qword [rbp + 8]
mov qword [rsp + 0xb0], r14
test r12d, r12d
je 0x1400d2ed9
mov r15, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0x68]
mov eax, esi
bt rbx, rax
jb 0x1400d2ec4
mov eax, esi
shl rax, 5
mov rdi, qword [rax + rbp + 8]
test rdi, rdi
je 0x1400d2e17
cmp byte [rdi], 0xa7
jne 0x1400d2e95
test byte [rdi + 4], 0x20
jne 0x1400d2e95
mov r8d, dword [rdi + 0x2c]
mov ebx, 1
cmp dword [r15 + 0x260], r8d
je 0x1400d2e1a
movsxd r9, dword [r15 + 0x25c]
mov edx, ebx
mov ecx, ebx
cmp rbx, r9
jge 0x1400d2e17
lea rax, [r15 + 0x264]
nop dword [rax]
cmp dword [rax], r8d
je 0x1400d2e8e
inc edx
inc rcx
add rax, 4
cmp rcx, r9
jl 0x1400d2e00
mov rbx, r11
test rbx, rbx
jne 0x1400d2e71
mov dword [rsp + 0xf8], r11d
mov eax, 1
mov word [rsp + 0xf4], ax
lea rax, [fcn.140066050]
mov qword [rsp + 0xd8], rax
lea rax, [0x140065ea0]
mov qword [rsp + 0xe0], rax
test rdi, rdi
je 0x1400d2e71
mov rdx, rdi
lea rcx, [rsp + 0xd0]
call fcn.14005e1e0
cmp word [rsp + 0xf4], bx
je 0x1400d2ebc
mov rax, r14
not rax
test rbx, rax
mov rbx, qword [rsp + 0x40]
jne 0x1400d2ec1
mov eax, esi
bts rbx, rax
mov qword [rsp + 0x40], rbx
jmp 0x1400d2ec1
mov ecx, edx
shl rbx, cl
jmp 0x1400d2e1a
test dword [rdi + 4], 0x810000
jne 0x1400d2e17
mov rdx, rdi
lea rcx, [r15 + 0x258]
call fcn.1400cb810
mov rbx, rax
xor r11d, r11d
jmp 0x1400d2e1a
mov rbx, qword [rsp + 0x40]
xor r11d, r11d
inc esi
cmp esi, r12d
jl 0x1400d2da1
mov rbp, qword [rsp + 0x58]
mov r15d, dword [rsp + 0x38]
mov r9, qword [rsp + 0x68]
movzx r10d, word [rsp + 0x34]
mov esi, dword [rsp + 0x50]
mov r11, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x90]
mov r14, qword [rsp + 0x98]
mov r8d, dword [rsp + 0x80]
inc qword [rsp + 0xa8]
inc r8d
mov r13, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xa8]
movzx eax, word [rsp + 0x170]
mov dword [rsp + 0x80], r8d
test r15b, r15b
jne 0x1400d2683
cmp rbx, rdx
jne 0x1400d2f67
movzx eax, byte [rsp + 0x62]
jmp 0x1400d2fa8
mov rbp, qword [rsp + 0x58]
jmp 0x1400d2ed9
cmp byte [r8 + 0x20], 0
je 0x1400d2f67
mov eax, 0x280
and r10w, ax
mov eax, 0x80
cmp r10w, ax
jne 0x1400d2f3e
test r15b, r15b
jne 0x1400d2fd8
movzx ecx, word [rsp + 0x62]
dec ecx
test ecx, ecx
jle 0x1400d2fa6
xor edi, edi
nop dword [rax]
cmp ecx, 0x40
jge 0x1400d2f92
mov edx, 1
shl rdx, cl
dec rdx
jmp 0x1400d2f95
mov rdx, rdi
mov rax, rdx
and rax, rbx
cmp rax, rdx
je 0x1400d2fd3
dec ecx
test ecx, ecx
jg 0x1400d2f80
xor al, al
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.1400f45c0
mov rbx, qword [rsp + 0x168]
add rsp, 0x110
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
movzx eax, cl
jmp 0x1400d2fa8
mov al, 0xff
jmp 0x1400d2fa8