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

Disassembly:
mov word [rsp + 0x20], r9w
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
push r12
push r14
sub rsp, 0x100
xor eax, eax
mov r14, r8
mov r12d, eax
mov qword [rsp + 0x40], rax
mov edi, eax
mov r11, rdx
movzx eax, word [rsp + 0x140]
mov r10, rcx
test ax, ax
je 0x1400a215f
mov rax, qword [rcx]
mov r10, qword [rax]
test byte [r10 + 0x60], 0x40
je 0x1400a214f
xor al, al
add rsp, 0x100
pop r14
pop r12
pop rdi
ret
mov r10, qword [rsp + 0x120]
movzx eax, word [rsp + 0x140]
mov qword [rsp + 0xf0], rbp
movzx ebp, word [rdx]
mov word [rsp + 0x72], bp
cmp bp, 0x3f
jbe 0x1400a217c
xor al, al
jmp 0x1400a2ab1
mov qword [rsp + 0xf8], rbx
mov ebx, 1
mov qword [rsp + 0xe8], rsi
mov qword [rsp + 0xe0], r13
mov r13b, 1
mov qword [rsp + 0xd8], r15
movzx r15d, bp
xor ebp, ebp
mov r8d, ebp
mov dword [rsp + 0x30], r13d
mov ecx, r15d
mov dword [rsp + 0x58], r15d
shl rbx, cl
mov edx, ebp
dec rbx
mov qword [rsp + 0x78], rbp
mov ecx, 0x803
mov qword [rsp + 0x80], rbx
test cx, r9w
mov qword [rsp + 0x68], rbp
mov ecx, ebp
mov qword [rsp + 0x88], rdx
setne r8b
mov dword [rsp + 0x54], ecx
add r8w, 0x182
mov esi, ebp
mov dword [rsp + 0x38], r8d
nop dword [rax]
cmp rdi, rbx
jae 0x1400a2a47
movzx eax, ax
cmp ecx, eax
jg 0x1400a2a44
test ecx, ecx
jle 0x1400a2222
or rsi, qword [r12 + 8]
mov qword [rsp + 0x68], rsi
cmp ecx, eax
jge 0x1400a2244
mov rax, qword [r14 + 0x18]
mov r12, qword [rax + rdx*8]
mov eax, 0x800
mov qword [rsp + 0x60], r12
test ax, r9w
jne 0x1400a29f8
jmp 0x1400a2251
mov r12, qword [rsp + 0x148]
mov qword [rsp + 0x60], r12
test dword [r12 + 0x38], 0x400
jne 0x1400a2a28
movzx eax, r9w
mov ecx, 0x80
and ax, cx
mov word [rsp + 0x70], ax
je 0x1400a2279
mov word [r12 + 0x1e], bp
movzx eax, byte [r12 + 0x10]
imul rcx, rax, 0x68
mov rax, qword [r10 + 8]
mov edx, dword [rcx + rax + 0x4c]
mov dword [rsp + 0x48], edx
test r15d, r15d
jle 0x1400a2404
mov r13d, dword [rsp + 0x58]
lea r14, [r11 + 8]
xor r15d, r15d
mov eax, ebp
bt rdi, rax
jb 0x1400a23e4
mov rbx, qword [r14]
test rbx, rbx
je 0x1400a23e4
nop dword [rax]
mov eax, dword [rbx + 4]
test eax, 0x82000
je 0x1400a22e8
bt eax, 0x13
jae 0x1400a22da
mov rax, qword [rbx + 0x20]
mov rbx, qword [rax + 8]
jmp 0x1400a22de
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x1400a22c0
jmp 0x1400a23e4
test rbx, rbx
je 0x1400a23e4
movzx eax, byte [rbx]
add al, 0x59
test al, 0xfd
jne 0x1400a23e4
cmp dword [rbx + 0x2c], edx
jne 0x1400a23e4
movzx eax, r8w
lea rcx, [r10 + 0x70]
movsx r8d, word [rbx + 0x30]
mov r9, rsi
not r9
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], eax
call fcn.14009cf00
mov rsi, rax
test rax, rax
je 0x1400a23ce
movzx r9d, word [rax + 0x14]
cmp r9w, 1
jne 0x1400a2368
movzx edx, word [r12 + 0x3c]
xor ecx, ecx
test edx, edx
jle 0x1400a2364
mov r8, qword [r12 + 0x48]
movsxd rax, ecx
cmp rsi, qword [r8 + rax*8]
je 0x1400a2364
inc ecx
cmp ecx, edx
jl 0x1400a2355
cmp ecx, edx
jge 0x1400a23ce
test r9b, 0x82
je 0x1400a23be
cmp word [rbx + 0x30], 0
jl 0x1400a23be
mov rbx, qword [rsp + 0x120]
mov rdx, qword [r14]
mov rbx, qword [rbx]
mov rcx, rbx
call fcn.140047710
mov rdi, rax
test rax, rax
jne 0x1400a239a
mov rax, qword [rbx]
mov rdi, qword [rax + 0x10]
mov rdx, qword [rsi]
mov rcx, rbx
call fcn.140047b30
test rax, rax
je 0x1400a23c9
mov rdx, qword [rax]
mov rcx, qword [rdi]
call fcn.14000a990
mov rdi, qword [rsp + 0x40]
test eax, eax
jne 0x1400a23ce
bts rdi, r15
mov qword [rsp + 0x40], rdi
jmp 0x1400a23ce
mov rdi, qword [rsp + 0x40]
mov edx, dword [rsp + 0x48]
mov r10, qword [rsp + 0x120]
mov r8d, dword [rsp + 0x38]
mov rsi, qword [rsp + 0x68]
inc ebp
inc r15
add r14, 0x20
cmp ebp, r13d
jl 0x1400a22a4
mov r13d, dword [rsp + 0x30]
movzx r9d, word [rsp + 0x138]
mov eax, dword [r12 + 0x38]
bt eax, 0xc
jb 0x1400a28b8
bt eax, 8
jae 0x1400a2434
mov esi, dword [rsp + 0x30]
xor ebp, ebp
mov r13d, ebp
mov qword [rsp + 0x90], rbp
mov word [rsp + 0x50], bp
lea ecx, [rbp + 1]
jmp 0x1400a247f
mov r13, qword [r12 + 0x20]
mov qword [rsp + 0x90], r13
test r13, r13
je 0x1400a2a86
test byte [r13 + 0x64], 4
jne 0x1400a2a86
cmp byte [r13 + 0x62], 0
movzx ecx, word [r13 + 0x5e]
mov word [rsp + 0x50], cx
movzx ecx, word [r13 + 0x60]
je 0x1400a2476
bt eax, 0xf
jb 0x1400a2476
mov sil, 1
jmp 0x1400a2479
xor sil, sil
xor ebp, ebp
mov dword [rsp + 0x30], esi
xor al, al
xor r11b, r11b
mov byte [rsp + 0x35], al
mov r15d, ebp
mov byte [rsp + 0x34], al
movzx eax, cx
mov dword [rsp + 0x4c], r11d
mov dword [rsp + 0x74], eax
test eax, eax
jle 0x1400a28b1
movzx r10d, word [r12 + 0x18]
mov bl, 1
cmp r15d, r10d
jge 0x1400a2527
movzx eax, word [r12 + 0x3e]
cmp r15d, eax
jl 0x1400a2527
mov r9, qword [r12 + 0x48]
movsxd rax, r15d
mov rcx, qword [r9 + rax*8]
movzx eax, word [rcx + 0x14]
test ax, r8w
je 0x1400a24f7
movzx r9d, word [rsp + 0x138]
mov ecx, 0x180
test cx, ax
movzx eax, sil
mov ecx, ebp
cmove ecx, eax
movzx esi, cl
mov dword [rsp + 0x30], esi
jmp 0x1400a287c
test al, 1
je 0x1400a2527
mov r8, qword [rcx]
lea edx, [r15 + 1]
cmp edx, r10d
jge 0x1400a2527
nop word [rax + rax]
movsxd rax, edx
mov rcx, qword [r9 + rax*8]
cmp qword [rcx], r8
je 0x1400a2525
inc edx
cmp edx, r10d
jl 0x1400a2510
jmp 0x1400a2527
xor bl, bl
test r13, r13
je 0x1400a2558
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 0x1400a255f
or r14d, 0xffffffff
jmp 0x1400a255f
or r14d, 0xffffffff
xor r12b, r12b
test sil, sil
je 0x1400a2598
test r14d, r14d
js 0x1400a2589
cmp r15d, r10d
jl 0x1400a2589
movsxd rax, r14d
movzx esi, sil
lea rdx, [rax + rax*2]
mov rax, qword [r13 + 0x18]
mov rcx, qword [rax + 8]
test byte [rcx + rdx*8 + 8], 0xf
cmove esi, ebp
cmp r14d, 0xfffffffe
movzx eax, sil
cmove eax, ebp
mov byte [rsp + 0x30], al
test bl, bl
je 0x1400a2745
cmp ebp, dword [rsp + 0x58]
jge 0x1400a2740
mov eax, ebp
bt rdi, rax
jb 0x1400a2736
mov rsi, qword [rsp + 0x128]
movsxd rax, ebp
shl rax, 5
add rsi, rax
mov rdx, qword [rsi + 8]
test rdx, rdx
je 0x1400a2736
mov eax, dword [rdx + 4]
test eax, 0x82000
je 0x1400a25fd
bt eax, 0x13
jae 0x1400a25ef
mov rdx, qword [rdx + 0x20]
mov rdx, qword [rdx + 8]
jmp 0x1400a25f3
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x1400a25d5
jmp 0x1400a2736
test rdx, rdx
je 0x1400a2736
test byte [rsp + 0x138], 0xc0
mov ecx, 0
movzx eax, bl
cmovne ecx, eax
movzx ebx, cl
movzx edi, cl
cmp r14d, 0xffffffff
jl 0x1400a264e
movzx eax, byte [rdx]
cmp al, 0xa7
je 0x1400a2634
cmp al, 0xa9
jne 0x1400a2731
mov eax, dword [rsp + 0x48]
movzx ebx, dil
cmp dword [rdx + 0x2c], eax
jne 0x1400a2731
movsx eax, word [rdx + 0x30]
cmp eax, r14d
jmp 0x1400a26c1
mov rax, qword [r13 + 0x50]
movsxd rcx, r15d
shl rcx, 5
mov r8, qword [rcx + rax + 8]
test r8, r8
je 0x1400a2690
mov eax, dword [r8 + 4]
test eax, 0x82000
je 0x1400a2690
bt eax, 0x13
jae 0x1400a267e
mov rax, qword [r8 + 0x20]
mov r8, qword [rax + 8]
jmp 0x1400a2682
mov r8, qword [r8 + 0x10]
test r8, r8
jne 0x1400a2663
nop word [rax + rax]
mov eax, dword [rdx + 4]
test eax, 0x82000
je 0x1400a26b3
bt eax, 0x13
jae 0x1400a26aa
mov rax, qword [rdx + 0x20]
mov rdx, qword [rax + 8]
jmp 0x1400a26ae
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x1400a2690
mov r9d, dword [rsp + 0x48]
xor ecx, ecx
call fcn.140050d60
test eax, eax
jne 0x1400a2731
cmp r14d, 0xffffffff
je 0x1400a278e
mov rax, qword [rsp + 0x120]
mov rdx, qword [rsi + 8]
mov rbx, qword [rax]
mov rcx, rbx
call fcn.140047710
test rax, rax
jne 0x1400a26f0
mov rax, qword [rbx]
mov rax, qword [rax + 0x10]
mov r8, qword [rax]
mov rax, qword [r13 + 0x40]
lea r13, [0x140222690]
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 0x1400a2778
test edx, edx
jne 0x1400a2789
mov r13, qword [rsp + 0x90]
movzx ebx, dil
test edx, edx
je 0x1400a278e
mov rdi, qword [rsp + 0x40]
inc ebp
test bl, bl
jne 0x1400a25a0
mov r11d, dword [rsp + 0x4c]
movzx r9d, word [rsp + 0x138]
mov r12, qword [rsp + 0x60]
test r15d, r15d
je 0x1400a2766
movzx eax, word [rsp + 0x50]
cmp r15d, eax
jge 0x1400a2896
mov rdi, qword [rsp + 0x40]
xor r13b, r13b
mov dword [rsp + 0x30], r13d
jmp 0x1400a28a0
movzx ecx, byte [rax + r13]
mov rax, rdx
movzx edx, byte [rdx + r13]
sub edx, ecx
jne 0x1400a2721
inc r8
jmp 0x1400a2710
cmp word [rsp + 0x70], 0
je 0x1400a27a3
mov rcx, qword [rsp + 0x60]
lea eax, [r15 + 1]
mov word [rcx + 0x1e], ax
movzx r9d, word [rsp + 0x138]
test r9b, 0x40
jne 0x1400a2816
mov rcx, qword [rsp + 0x128]
movsxd rax, ebp
shl rax, 5
cmp byte [rsp + 0x35], 0
je 0x1400a27e9
movzx ecx, byte [rax + rcx + 0x18]
xor r12b, byte [rsp + 0x34]
and cl, 1
cmp r12b, cl
sete al
test al, al
jne 0x1400a2816
mov r11d, dword [rsp + 0x4c]
jmp 0x1400a274e
movzx edx, byte [rax + rcx + 0x18]
and dl, 1
xor dl, r12b
mov byte [rsp + 0x34], dl
je 0x1400a2811
mov rdx, qword [rsp + 0x150]
movsxd rax, dword [rsp + 0x54]
mov rcx, qword [rdx]
bts rcx, rax
mov qword [rdx], rcx
mov byte [rsp + 0x35], 1
mov rdx, qword [rsp + 0x128]
mov r12, qword [rsp + 0x60]
movsxd rcx, ebp
mov rax, rcx
shl rax, 5
test byte [rax + rdx + 0x18], 2
je 0x1400a2848
movzx eax, word [r12 + 0x18]
cmp r15d, eax
jne 0x1400a288c
or dword [r12 + 0x38], 0x80000
mov r11d, dword [rsp + 0x4c]
cmp r14d, 0xffffffff
mov rdi, qword [rsp + 0x40]
mov eax, 1
mov esi, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x38]
movzx r11d, r11b
cmove r11d, eax
bts rdi, rcx
mov qword [rsp + 0x40], rdi
xor ebp, ebp
mov dword [rsp + 0x4c], r11d
inc r15d
cmp r15d, dword [rsp + 0x74]
jl 0x1400a24a3
jmp 0x1400a289b
mov r11d, dword [rsp + 0x4c]
jmp 0x1400a2753
mov rdi, qword [rsp + 0x40]
mov r13d, dword [rsp + 0x30]
xor ebp, ebp
test r11b, r11b
je 0x1400a28ba
mov r13b, 1
mov dword [rsp + 0x30], r13d
jmp 0x1400a28c3
mov r13d, dword [rsp + 0x30]
jmp 0x1400a28ba
xor ebp, ebp
test r13b, r13b
je 0x1400a29cd
mov rax, qword [rsp + 0x78]
mov esi, ebp
or rax, qword [r12 + 8]
mov r15d, dword [rsp + 0x58]
mov qword [rsp + 0x78], rax
test r15d, r15d
jle 0x1400a29d2
mov r14, qword [rsp + 0x128]
mov r12, rax
mov r13, qword [rsp + 0x120]
add r14, 8
nop dword [rax]
mov eax, esi
bt rdi, rax
jb 0x1400a29a4
mov rbx, qword [r14]
test rbx, rbx
je 0x1400a292a
lea rcx, [r13 + 0x258]
mov rdx, rbx
call fcn.14009c550
mov rdi, rax
xor eax, eax
jmp 0x1400a292e
xor eax, eax
mov edi, eax
test rdi, rdi
jne 0x1400a2984
mov dword [rsp + 0xc0], eax
mov ecx, 1
mov word [rsp + 0xbc], cx
lea rcx, [fcn.14004a790]
mov qword [rsp + 0xa0], rcx
lea rcx, [0x14004a5e0]
mov qword [rsp + 0xa8], rcx
test rbx, rbx
je 0x1400a2984
mov rdx, rbx
lea rcx, [rsp + 0x98]
call fcn.140043a90
cmp word [rsp + 0xbc], di
je 0x1400a299f
mov rax, r12
not rax
test rdi, rax
mov rdi, qword [rsp + 0x40]
jne 0x1400a29a4
bts rdi, rbp
mov qword [rsp + 0x40], rdi
jmp 0x1400a29a4
mov rdi, qword [rsp + 0x40]
inc esi
inc rbp
add r14, 0x20
cmp esi, r15d
jl 0x1400a2900
mov r12, qword [rsp + 0x60]
xor ebp, ebp
mov r13d, dword [rsp + 0x30]
movzx r9d, word [rsp + 0x138]
jmp 0x1400a29d2
mov r15d, dword [rsp + 0x58]
mov r11, qword [rsp + 0x128]
mov ecx, dword [rsp + 0x54]
mov r8d, dword [rsp + 0x38]
mov rsi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x80]
mov r14, qword [rsp + 0x130]
inc qword [rsp + 0x88]
inc ecx
mov dword [rsp + 0x54], ecx
test r13b, r13b
je 0x1400a2a44
mov r10, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x88]
movzx eax, word [rsp + 0x140]
jmp 0x1400a2200
cmp byte [r12 + 0x20], 0
je 0x1400a2a44
mov eax, 0x280
and r9w, ax
mov eax, 0x80
cmp r9w, ax
jne 0x1400a2a49
cmp rdi, rbx
jne 0x1400a2a50
movzx eax, byte [rsp + 0x72]
jmp 0x1400a2a91
test r13b, r13b
jne 0x1400a2a8f
lea ecx, [r15 - 1]
test ecx, ecx
jle 0x1400a2a86
nop dword [rax]
cmp ecx, 0x40
jge 0x1400a2a72
mov edx, 1
shl rdx, cl
dec rdx
jmp 0x1400a2a75
mov rdx, rbp
mov rax, rdx
and rax, rdi
cmp rax, rdx
je 0x1400a2a8a
dec ecx
test ecx, ecx
jg 0x1400a2a60
xor al, al
jmp 0x1400a2a91
movzx eax, cl
jmp 0x1400a2a91
mov al, 0xff
mov r13, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0xf8]
mov r15, qword [rsp + 0xd8]
mov rbp, qword [rsp + 0xf0]
add rsp, 0x100
pop r14
pop r12
pop rdi
ret