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

Disassembly:
mov rax, rsp
mov word [rax + 0x20], r9w
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa8
xor r13d, r13d
mov r14, r8
movzx edi, r9w
mov r8, rdx
mov r10, rcx
mov r15d, r13d
mov ebp, r13d
cmp word [rsp + 0x110], r13w
je 0x14007c62d
mov rax, qword [rcx]
mov r9, qword [rax]
test byte [r9 + 0x5c], 0x40
jne 0x14007cd48
movzx edx, word [rdx]
mov word [rsp + 0x56], dx
cmp dx, 0x3f
ja 0x14007cd48
movzx r12d, dx
mov eax, 1
mov r11b, al
mov dword [rsp + 0x40], r12d
mov ecx, r12d
mov dword [rsp + 0x38], r11d
shl rax, cl
mov rsi, r13
movzx ecx, di
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x60], r13
mov dword [rsp + 0x48], r13d
lea rbx, [rax - 1]
mov eax, 0x800
and cx, ax
mov qword [rsp + 0x78], rbx
movzx eax, cx
mov word [rsp + 0x3c], cx
neg ax
sbb r9w, r9w
neg r9w
add r9w, 0x182
xor edx, edx
mov word [rsp + 0x30], r9w
mov qword [rsp + 0x80], rdx
cmp rbp, rbx
jae 0x14007cd11
movzx eax, word [rsp + 0x110]
cmp r13d, eax
jg 0x14007cd0e
test r13d, r13d
jle 0x14007c6d2
or rsi, qword [r15 + 8]
mov qword [rsp + 0x60], rsi
cmp r13d, eax
jge 0x14007c6f4
mov rax, qword [r14 + 0x18]
mov r15, qword [rax + rdx*8]
xor eax, eax
mov qword [rsp + 0x90], r15
test cx, cx
jne 0x14007ccd5
jmp 0x14007c704
mov r15, qword [rsp + 0x118]
mov qword [rsp + 0x90], r15
mov edx, dword [r15 + 0x28]
bt edx, 0xa
jb 0x14007ccfd
mov ecx, 0x80
movzx eax, di
and ax, cx
mov word [rsp + 0x54], ax
je 0x14007c72e
xor r14d, r14d
mov word [r15 + 0x1e], r14w
jmp 0x14007c731
xor r14d, r14d
movzx eax, byte [r15 + 0x10]
mov esi, r14d
imul rcx, rax, 0x70
mov rax, qword [r10 + 8]
mov eax, dword [rcx + rax + 0x4c]
mov dword [rsp + 0x58], eax
test r12d, r12d
je 0x14007c848
lea rdi, [r8 + 8]
mov r13d, eax
mov eax, esi
bt rbp, rax
jb 0x14007c820
mov rcx, qword [rdi]
call fcn.140047fb8
mov rbx, rax
cmp byte [rax], 0xa2
jne 0x14007c820
cmp dword [rax + 0x28], r13d
jne 0x14007c820
movsx r8d, word [rbx + 0x2c]
lea rcx, [r10 + 0x68]
movzx eax, r9w
xor edx, edx
mov r9, qword [rsp + 0x60]
mov qword [rsp + 0x28], rdx
not r9
mov edx, r13d
mov dword [rsp + 0x20], eax
call fcn.1400792cc
mov r8, rax
xor eax, eax
test r8, r8
je 0x14007c812
lea r10d, [rax + 1]
cmp word [r8 + 0x14], r10w
jne 0x14007c7e5
movzx edx, word [r15 + 0x2c]
mov ecx, eax
test edx, edx
je 0x14007c7e1
mov r9, qword [r15 + 0x38]
movsxd rax, ecx
cmp r8, qword [r9 + rax*8]
je 0x14007c7df
add ecx, r10d
cmp ecx, edx
jl 0x14007c7cf
xor eax, eax
cmp ecx, edx
jge 0x14007c812
test byte [r8 + 0x14], 0x82
je 0x14007c80e
cmp word [rbx + 0x2c], ax
jl 0x14007c80e
mov rcx, qword [rsp + 0xf0]
mov r8, qword [r8]
mov rdx, qword [rdi]
mov rcx, qword [rcx]
call fcn.140048140
xor ecx, ecx
test eax, eax
je 0x14007c812
bts rbp, r14
movzx r9d, word [rsp + 0x30]
mov r10, qword [rsp + 0xf0]
mov eax, 1
add rdi, 0x28
add esi, eax
add r14, rax
cmp esi, r12d
jl 0x14007c759
mov r13d, dword [rsp + 0x48]
xor r14d, r14d
mov edx, dword [r15 + 0x28]
mov r11d, dword [rsp + 0x38]
bt edx, 0xc
jb 0x14007cbfb
bt edx, 8
jae 0x14007c86b
mov esi, 1
mov word [rsp + 0x4c], r14w
movzx eax, si
mov r13, r14
jmp 0x14007c8b5
mov r13, qword [r15 + 0x20]
test r13, r13
je 0x14007cd48
test byte [r13 + 0x64], 4
jne 0x14007cd48
movzx eax, word [r13 + 0x5e]
mov word [rsp + 0x4c], ax
movzx eax, word [r13 + 0x60]
cmp byte [r13 + 0x62], r14b
je 0x14007c8a8
bt edx, 0xf
jb 0x14007c8a8
mov esi, 1
mov r11b, sil
jmp 0x14007c8b0
mov r11b, r14b
mov esi, 1
mov dword [rsp + 0x38], r11d
movzx eax, ax
mov dil, r14b
mov byte [rsp + 0x34], r14b
mov ebx, r14d
mov byte [rsp + 0x33], r14b
mov dword [rsp + 0x44], edi
mov dword [rsp + 0x68], eax
test eax, eax
je 0x14007cbf6
movzx r9d, word [r15 + 0x18]
cmp ebx, r9d
jge 0x14007c949
movzx eax, word [r15 + 0x2e]
cmp ebx, eax
jl 0x14007c949
mov r8, qword [r15 + 0x38]
movsxd rax, ebx
mov rcx, qword [r8 + rax*8]
movzx eax, word [rcx + 0x14]
test word [rsp + 0x30], ax
je 0x14007c925
mov ecx, 0x180
mov esi, 1
test cx, ax
movzx eax, r11b
mov ecx, r14d
cmove ecx, eax
mov r11b, cl
mov dword [rsp + 0x38], r11d
jmp 0x14007cbac
test al, 1
je 0x14007c949
mov r10, qword [rcx]
lea edx, [rbx + 1]
jmp 0x14007c93f
movsxd rax, edx
mov rcx, qword [r8 + rax*8]
cmp qword [rcx], r10
je 0x14007c946
inc edx
cmp edx, r9d
jl 0x14007c931
jmp 0x14007c949
mov sil, r14b
test r13, r13
je 0x14007c97c
mov rax, qword [r13 + 8]
movsxd rcx, ebx
movsx r10d, word [rax + rcx*2]
mov rax, qword [r13 + 0x38]
mov dword [rsp + 0x50], r10d
mov dl, byte [rcx + rax]
mov rax, qword [r13 + 0x18]
and dl, 1
mov byte [rsp + 0x32], dl
movsx ecx, word [rax + 0x44]
cmp r10d, ecx
jne 0x14007c98a
jmp 0x14007c981
mov byte [rsp + 0x32], r14b
or r10d, 0xffffffff
mov dword [rsp + 0x50], r10d
test r11b, r11b
je 0x14007c9b7
test r10d, r10d
js 0x14007c9b7
cmp ebx, r9d
jl 0x14007c9b7
mov rax, qword [r13 + 0x18]
mov rcx, qword [rax + 8]
movsxd rax, r10d
shl rax, 5
mov al, byte [rax + rcx + 0x18]
neg al
sbb cl, cl
and cl, r11b
mov byte [rsp + 0x38], cl
test sil, sil
je 0x14007cbbd
cmp r14d, r12d
jge 0x14007cbb9
mov eax, r14d
bt rbp, rax
jb 0x14007caca
mov r8, qword [rsp + 0xf8]
movsxd rax, r14d
mov qword [rsp + 0x88], rax
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + rdx*8 + 8]
mov qword [rsp + 0x98], rdx
call fcn.140047fb8
mov r9, rax
mov al, byte [rsp + 0x108]
and al, 0xc0
neg al
sbb al, al
and al, sil
mov sil, al
mov r12b, al
cmp r10d, 0xffffffff
jl 0x14007ca49
cmp byte [r9], 0xa2
jne 0x14007cac5
mov eax, dword [rsp + 0x58]
cmp dword [r9 + 0x28], eax
jne 0x14007cac5
movsx eax, word [r9 + 0x2c]
cmp eax, r10d
jne 0x14007cac5
movsxd rdi, ebx
jmp 0x14007ca81
mov rax, qword [r13 + 0x50]
mov r8d, dword [rsp + 0x58]
movsxd rdi, ebx
lea rcx, [rdi + rdi*4]
mov rdx, qword [rax + rcx*8 + 8]
mov rcx, r9
call fcn.14004dc60
xor ecx, ecx
test eax, eax
jne 0x14007cac5
mov rdx, qword [rsp + 0x98]
mov r10d, dword [rsp + 0x50]
mov r8, qword [rsp + 0xf8]
cmp r10d, 0xffffffff
je 0x14007cae5
mov rax, qword [rsp + 0xf0]
mov rdx, qword [r8 + rdx*8 + 8]
mov rsi, qword [rax]
mov rcx, rsi
call fcn.140047fe4
xor r11d, r11d
test rax, rax
jne 0x14007caae
mov rax, qword [rsi]
mov rax, qword [rax + 0x10]
mov rdx, qword [r13 + 0x40]
mov sil, r12b
mov rcx, qword [rax]
mov rdx, qword [rdx + rdi*8]
call fcn.14001d318
test eax, eax
je 0x14007cae0
mov r12d, dword [rsp + 0x40]
inc r14d
test sil, sil
je 0x14007cbb9
mov r10d, dword [rsp + 0x50]
jmp 0x14007c9c0
mov r10d, dword [rsp + 0x50]
xor r14d, r14d
lea esi, [r14 + 1]
cmp word [rsp + 0x54], r14w
je 0x14007cafc
lea eax, [rsi + rbx]
mov word [r15 + 0x1e], ax
test byte [rsp + 0x108], 0x40
mov dl, sil
mov r8, qword [rsp + 0x88]
mov r9, qword [rsp + 0xf8]
jne 0x14007cb67
lea rax, [r8 + r8*4]
mov cl, byte [r9 + rax*8 + 0x20]
and cl, sil
cmp byte [rsp + 0x34], r14b
je 0x14007cb3b
mov al, byte [rsp + 0x32]
xor al, byte [rsp + 0x33]
cmp al, cl
sete dl
jmp 0x14007cb63
mov al, cl
xor al, byte [rsp + 0x32]
mov byte [rsp + 0x33], al
je 0x14007cb5e
mov r11, qword [rsp + 0x120]
movsxd rax, dword [rsp + 0x48]
mov rcx, qword [r11]
bts rcx, rax
mov qword [r11], rcx
mov byte [rsp + 0x34], sil
test dl, dl
je 0x14007cbd6
lea rax, [r8 + r8*4]
test byte [r9 + rax*8 + 0x20], 2
je 0x14007cb87
movzx eax, word [r15 + 0x18]
cmp ebx, eax
jne 0x14007cb84
bts dword [r15 + 0x28], 0x13
jmp 0x14007cb87
mov dl, r14b
mov edi, dword [rsp + 0x44]
test dl, dl
je 0x14007cbc4
mov r11d, dword [rsp + 0x38]
cmp r10d, 0xffffffff
mov r12d, dword [rsp + 0x40]
movzx edi, dil
cmove edi, esi
bts rbp, r8
mov dword [rsp + 0x44], edi
add ebx, esi
cmp ebx, dword [rsp + 0x68]
jge 0x14007cbe1
jmp 0x14007c8d8
mov edi, dword [rsp + 0x44]
xor r14d, r14d
lea esi, [r14 + 1]
test ebx, ebx
je 0x14007cbd1
movzx eax, word [rsp + 0x4c]
cmp ebx, eax
jge 0x14007cbdc
mov r11b, r14b
jmp 0x14007cbe1
mov edi, dword [rsp + 0x44]
jmp 0x14007cbc4
mov r11d, dword [rsp + 0x38]
mov r12d, dword [rsp + 0x40]
test dil, dil
movzx r11d, r11b
cmovne r11d, esi
mov dword [rsp + 0x38], r11d
mov r13d, dword [rsp + 0x48]
test r11b, r11b
je 0x14007cc9e
mov rsi, qword [rsp + 0x70]
mov ebx, r14d
or rsi, qword [r15 + 8]
mov qword [rsp + 0x70], rsi
test r12d, r12d
je 0x14007cc9e
mov r13, qword [rsp + 0xf8]
mov r15, qword [rsp + 0xf0]
mov eax, ebx
bt rbp, rax
jb 0x14007cc85
movsxd r14, ebx
lea rax, [r14 + r14*4]
mov rsi, qword [r13 + rax*8 + 8]
xor eax, eax
test rsi, rsi
je 0x14007cc58
lea rcx, [r15 + 0x290]
mov rdx, rsi
call fcn.140078b44
mov rdi, rax
test rax, rax
jne 0x14007cc74
xor r8d, r8d
lea edx, [rax + 1]
mov rcx, rsi
call fcn.140049e34
xor ecx, ecx
test eax, eax
je 0x14007cc85
mov rax, qword [rsp + 0x70]
not rax
test rdi, rax
jne 0x14007cc85
bts rbp, r14
inc ebx
cmp ebx, r12d
jl 0x14007cc2e
mov r15, qword [rsp + 0x90]
mov r11d, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x48]
mov r8, qword [rsp + 0xf8]
xor eax, eax
mov r10, qword [rsp + 0xf0]
movzx r9d, word [rsp + 0x30]
mov rbx, qword [rsp + 0x78]
movzx ecx, word [rsp + 0x3c]
movzx edi, word [rsp + 0x108]
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x100]
mov edx, 1
add qword [rsp + 0x80], rdx
add r13d, edx
mov rdx, qword [rsp + 0x80]
mov dword [rsp + 0x48], r13d
test r11b, r11b
jne 0x14007c6aa
jmp 0x14007cd0e
xor r8d, r8d
mov rcx, rbx
cmp byte [r15 + 0x1d], r8b
cmove rcx, rbp
mov rbp, rcx
cmp rbp, rbx
jne 0x14007cd19
mov al, byte [rsp + 0x56]
jmp 0x14007cd4a
test r11b, r11b
jne 0x14007cd62
lea ecx, [r12 - 1]
test ecx, ecx
jle 0x14007cd48
mov r9d, 1
mov rdx, r9
shl rdx, cl
sub rdx, r9
mov rax, rdx
and rax, rbp
cmp rax, rdx
je 0x14007cd5e
sub ecx, r9d
test ecx, ecx
jg 0x14007cd2d
xor al, al
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov al, cl
jmp 0x14007cd4a
mov al, 0xff
jmp 0x14007cd4a