Function at 0x140093dc0
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 rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb8
xor eax, eax
movzx r10d, r9w
mov esi, eax
mov qword [rsp + 0x48], rax
mov r11d, eax
mov r13, r8
movzx eax, word [rsp + 0x120]
mov r8, rdx
mov r9, rcx
test ax, ax
je 0x140093e30
mov rax, qword [rcx]
mov r10, qword [rax]
test byte [r10 + 0x60], 0x40
jne 0x14009459a
movzx r10d, word [rsp + 0x118]
movzx eax, word [rsp + 0x120]
movzx r15d, word [rdx]
mov word [rsp + 0x6a], r15w
cmp r15d, 0x3f
ja 0x14009459a
mov ecx, r15d
mov dword [rsp + 0x38], r15d
mov ebp, 1
mov dword [rsp + 0x80], 0x800
shl rbp, cl
mov r14d, r15d
xor r15d, r15d
mov dword [rsp + 0x6c], 0x80
dec rbp
mov qword [rsp + 0xa0], r15
mov edi, r15d
mov qword [rsp + 0x90], rbp
mov ecx, 0x803
mov dword [rsp + 0x84], 0x180
test cx, r10w
mov r12b, 1
mov edx, r15d
mov dword [rsp + 0x34], r12d
setne dil
mov qword [rsp + 0x78], rdx
add di, 0x182
mov ecx, r15d
mov ebx, r15d
mov dword [rsp + 0x3c], edi
mov dword [rsp + 0x58], ecx
mov qword [rsp + 0x98], rbx
cmp r11, rbp
jae 0x140094547
movzx eax, ax
cmp ecx, eax
jg 0x140094567
test ecx, ecx
jle 0x140093ee7
or rdx, qword [rsi + 8]
mov qword [rsp + 0x78], rdx
cmp ecx, eax
jge 0x140093f0b
mov rax, qword [r13 + 0x18]
mov rsi, qword [rax + rbx*8]
mov eax, dword [rsp + 0x80]
mov qword [rsp + 0x60], rsi
test ax, r10w
jne 0x14009451d
jmp 0x140093f18
mov rsi, qword [rsp + 0x128]
mov qword [rsp + 0x60], rsi
mov edx, dword [rsi + 0x38]
bt edx, 0xa
jb 0x140094550
movzx eax, r10w
and ax, word [rsp + 0x6c]
mov word [rsp + 0x68], ax
je 0x140093f3a
mov word [rsi + 0x1e], r15w
movzx eax, byte [rsi + 0x10]
mov ebp, r15d
imul rcx, rax, 0x68
mov rax, qword [r9 + 8]
mov r10d, dword [rcx + rax + 0x4c]
mov dword [rsp + 0x40], r10d
test r14d, r14d
je 0x140094026
mov r13d, dword [rsp + 0x38]
lea r14, [r8 + 8]
mov r12, qword [rsp + 0x100]
nop dword [rax]
mov eax, ebp
bt r11, rax
jb 0x140094004
mov rcx, qword [r14]
call fcn.1400d6b60
mov rbx, rax
test rax, rax
je 0x140094004
movzx eax, byte [rax]
add al, 0x59
test al, 0xfd
jne 0x140094004
cmp dword [rbx + 0x2c], r10d
jne 0x140094004
mov r9, qword [rsp + 0x78]
lea rcx, [r12 + 0x70]
movsx r8d, word [rbx + 0x30]
not r9
movzx eax, di
mov edx, r10d
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], eax
call fcn.140098860
mov rdi, rax
test rax, rax
je 0x140093ff6
movzx r9d, word [rax + 0x14]
cmp r9w, 1
jne 0x14009404e
movzx edx, word [rsi + 0x3c]
xor eax, eax
test edx, edx
je 0x14009404a
mov r8, qword [rsi + 0x48]
movsxd rcx, eax
cmp rdi, qword [r8 + rcx*8]
je 0x14009404a
inc eax
cmp eax, edx
jl 0x140093fe7
mov r11, qword [rsp + 0x48]
mov edi, dword [rsp + 0x3c]
mov r10d, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
inc ebp
inc r15
add r14, 0x20
cmp ebp, r13d
jl 0x140093f70
mov r12d, dword [rsp + 0x34]
mov r14d, r13d
mov edx, dword [rsi + 0x38]
bt edx, 0xc
jb 0x14009442d
bt edx, 8
jae 0x1400940a7
xor ebp, ebp
mov qword [rsp + 0x70], rbp
mov word [rsp + 0x54], bp
lea eax, [rbp + 1]
jmp 0x1400940eb
cmp eax, edx
jge 0x140093ff6
test r9b, 0x82
je 0x140094094
cmp word [rbx + 0x30], 0
jl 0x140094094
mov rbx, qword [r12]
mov rdx, qword [r14]
mov rcx, rbx
call fcn.1400d69b0
mov rdx, qword [rdi]
mov rcx, rbx
mov rsi, rax
call fcn.1400d6790
test rax, rax
je 0x140093ff6
mov rdx, qword [rax]
mov rcx, qword [rsi]
call fcn.14010beb0
test eax, eax
jne 0x140093ff6
mov r11, qword [rsp + 0x48]
bts r11, r15
mov qword [rsp + 0x48], r11
jmp 0x140093ffb
mov rcx, qword [rsi + 0x20]
mov qword [rsp + 0x70], rcx
test rcx, rcx
je 0x14009459a
test byte [rcx + 0x64], 4
jne 0x14009459a
cmp byte [rcx + 0x62], 0
movzx eax, word [rcx + 0x5e]
mov word [rsp + 0x54], ax
movzx eax, word [rcx + 0x60]
je 0x1400940e1
bt edx, 0xf
jb 0x1400940e1
mov r12b, 1
jmp 0x1400940e4
xor r12b, r12b
xor ebp, ebp
mov dword [rsp + 0x34], r12d
xor cl, cl
movzx eax, ax
xor dil, dil
mov byte [rsp + 0x32], cl
mov byte [rsp + 0x31], cl
mov r13d, ebp
mov dword [rsp + 0x50], edi
mov dword [rsp + 0x88], eax
test eax, eax
je 0x14009442d
movzx r10d, word [rsi + 0x18]
mov bl, 1
cmp r13d, r10d
jge 0x140094187
movzx eax, word [rsi + 0x3e]
cmp r13d, eax
jl 0x140094187
mov r8, qword [rsi + 0x48]
movsxd rax, r13d
mov r9, qword [r8 + rax*8]
movzx eax, word [r9 + 0x14]
test word [rsp + 0x3c], ax
je 0x14009415e
mov ecx, dword [rsp + 0x84]
test cx, ax
movzx eax, r12b
mov ecx, ebp
cmove ecx, eax
movzx r12d, cl
mov dword [rsp + 0x34], r12d
jmp 0x14009440d
test bl, al
je 0x140094187
mov r9, qword [r9]
lea edx, [r13 + 1]
cmp edx, r10d
jge 0x140094187
nop
movsxd rax, edx
mov rcx, qword [r8 + rax*8]
cmp qword [rcx], r9
je 0x140094185
inc edx
cmp edx, r10d
jl 0x140094170
jmp 0x140094187
xor bl, bl
mov r8, qword [rsp + 0x70]
test r8, r8
je 0x1400941bb
mov rax, qword [r8 + 8]
movsxd rcx, r13d
movsx r15d, word [rax + rcx*2]
mov rax, qword [r8 + 0x38]
movzx edx, byte [rcx + rax]
mov rax, qword [r8 + 0x18]
and dl, 1
mov byte [rsp + 0x30], dl
movsx ecx, word [rax + 0x34]
cmp r15d, ecx
jne 0x1400941c6
jmp 0x1400941c0
mov byte [rsp + 0x30], 0
mov r15d, 0xffffffff
test r12b, r12b
je 0x140094204
test r15d, r15d
js 0x1400941f3
cmp r13d, r10d
jl 0x140094204
movsxd rax, r15d
lea rdx, [rax + rax*2]
mov rax, qword [r8 + 0x18]
mov rcx, qword [rax + 8]
test byte [rcx + rdx*8 + 8], 0xf
jne 0x140094204
xor al, al
mov dword [rsp + 0x34], eax
jmp 0x140094204
cmp r15d, 0xfffffffe
movzx r12d, r12b
cmove r12d, ebp
mov dword [rsp + 0x34], r12d
mov esi, ebp
test bl, bl
je 0x140094315
nop
cmp esi, r14d
jge 0x140094311
mov eax, esi
bt r11, rax
jb 0x140094307
mov r10, qword [rsp + 0x108]
movsxd r12, esi
mov r14, r12
shl r14, 5
add r14, r10
mov rcx, qword [r14 + 8]
call fcn.1400d6b60
mov r9, rax
test rax, rax
je 0x140094302
movzx edx, word [rsp + 0x118]
mov ecx, ebp
test dl, 0xc0
movzx eax, bl
cmovne ecx, eax
movzx ebx, cl
movzx ebp, cl
cmp r15d, 0xffffffff
jl 0x1400942a1
movzx eax, byte [r9]
cmp al, 0xa7
je 0x14009427e
cmp al, 0xa9
jne 0x140094300
mov eax, dword [rsp + 0x40]
cmp dword [r9 + 0x2c], eax
jne 0x140094300
movsx eax, word [r9 + 0x30]
cmp eax, r15d
jne 0x140094300
movsxd rdi, r13d
cmp r15d, 0xffffffff
je 0x140094355
jmp 0x1400942c5
mov rax, qword [r8 + 0x50]
mov r8d, dword [rsp + 0x40]
movsxd rdi, r13d
mov rcx, rdi
shl rcx, 5
mov rdx, qword [rcx + rax + 8]
mov rcx, r9
call fcn.1400cf7d0
test eax, eax
jne 0x1400942f6
mov rax, qword [rsp + 0x100]
mov rdx, qword [r14 + 8]
mov rcx, qword [rax]
call fcn.1400d69b0
mov rcx, qword [rsp + 0x70]
movzx ebx, bpl
mov rdx, qword [rcx + 0x40]
mov rcx, qword [rax]
mov rdx, qword [rdx + rdi*8]
call fcn.14010beb0
test eax, eax
je 0x140094340
mov r11, qword [rsp + 0x48]
mov r8, qword [rsp + 0x70]
xor ebp, ebp
mov r14d, dword [rsp + 0x38]
inc esi
test bl, bl
jne 0x140094210
mov edi, dword [rsp + 0x50]
test r13d, r13d
je 0x140094324
movzx eax, word [rsp + 0x54]
cmp r13d, eax
jge 0x14009432a
xor al, al
mov dword [rsp + 0x34], eax
test dil, dil
je 0x140094428
mov r12b, 1
mov dword [rsp + 0x34], r12d
jmp 0x140094436
mov r11, qword [rsp + 0x48]
mov r10, qword [rsp + 0x108]
movzx edx, word [rsp + 0x118]
cmp word [rsp + 0x68], 0
mov rsi, qword [rsp + 0x60]
je 0x14009436a
lea eax, [r13 + 1]
mov word [rsi + 0x1e], ax
test dl, 0x40
jne 0x1400943c2
mov rax, r12
shl rax, 5
movzx ecx, byte [rax + r10 + 0x18]
and cl, 1
cmp byte [rsp + 0x32], 0
je 0x140094399
movzx eax, byte [rsp + 0x30]
xor al, byte [rsp + 0x31]
cmp al, cl
jne 0x140094311
jmp 0x1400943c2
movzx edx, cl
xor dl, byte [rsp + 0x30]
mov byte [rsp + 0x31], dl
je 0x1400943bd
mov rdx, qword [rsp + 0x130]
movsxd rax, dword [rsp + 0x58]
mov rcx, qword [rdx]
bts rcx, rax
mov qword [rdx], rcx
mov byte [rsp + 0x32], 1
mov rax, r12
shl rax, 5
test byte [rax + r10 + 0x18], 2
je 0x1400943e5
movzx eax, word [rsi + 0x18]
cmp r13d, eax
jne 0x140094311
or dword [rsi + 0x38], 0x80000
mov edi, dword [rsp + 0x50]
cmp r15d, 0xffffffff
movzx edi, dil
mov eax, 1
cmove edi, eax
bts r11, r12
mov r12d, dword [rsp + 0x34]
xor ebp, ebp
mov qword [rsp + 0x48], r11
mov dword [rsp + 0x50], edi
inc r13d
cmp r13d, dword [rsp + 0x88]
jge 0x14009432a
mov r14d, dword [rsp + 0x38]
jmp 0x140094111
mov r12d, dword [rsp + 0x34]
test r12b, r12b
je 0x1400944da
mov r13, qword [rsp + 0xa0]
xor r15d, r15d
mov rsi, qword [rsp + 0x60]
mov ebx, r15d
mov r14d, dword [rsp + 0x38]
or r13, qword [rsi + 8]
mov qword [rsp + 0xa0], r13
test r14d, r14d
je 0x1400944e7
mov r15, qword [rsp + 0x108]
mov r12, qword [rsp + 0x100]
mov eax, ebx
bt r11, rax
jb 0x1400944cc
mov eax, ebx
lea rcx, [r12 + 0x258]
shl rax, 5
mov ebp, ebx
mov rdi, qword [rax + r15 + 8]
mov rdx, rdi
call fcn.140099250
mov rsi, rax
test rax, rax
jne 0x1400944ac
mov rcx, rdi
call fcn.1400d41d0
test eax, eax
je 0x1400944c7
mov r11, qword [rsp + 0x48]
mov rax, r13
not rax
test rsi, rax
jne 0x1400944cc
bts r11, rbp
mov qword [rsp + 0x48], r11
jmp 0x1400944cc
mov r11, qword [rsp + 0x48]
inc ebx
cmp ebx, r14d
jl 0x140094473
mov r12d, dword [rsp + 0x34]
jmp 0x1400944df
mov r14d, dword [rsp + 0x38]
mov rsi, qword [rsp + 0x60]
xor r15d, r15d
mov r8, qword [rsp + 0x108]
mov r9, qword [rsp + 0x100]
movzx r10d, word [rsp + 0x118]
mov ecx, dword [rsp + 0x58]
mov edi, dword [rsp + 0x3c]
mov rdx, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x90]
mov r13, qword [rsp + 0x110]
inc qword [rsp + 0x98]
inc ecx
mov rbx, qword [rsp + 0x98]
movzx eax, word [rsp + 0x120]
mov dword [rsp + 0x58], ecx
test r12b, r12b
jne 0x140093ec6
cmp r11, rbp
jne 0x140094567
movzx eax, byte [rsp + 0x6a]
jmp 0x14009459c
cmp byte [rsi + 0x20], 0
je 0x140094567
mov eax, 0x280
and r10w, ax
cmp r10w, word [rsp + 0x6c]
jne 0x140094549
test r12b, r12b
jne 0x1400945b5
lea ecx, [r14 - 1]
test ecx, ecx
jle 0x14009459a
cmp ecx, 0x40
jge 0x140094586
mov edx, 1
shl rdx, cl
dec rdx
jmp 0x140094589
mov rdx, r15
mov rax, rdx
and rax, r11
cmp rax, rdx
je 0x1400945b0
dec ecx
test ecx, ecx
jg 0x140094574
xor al, al
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
movzx eax, cl
jmp 0x14009459c
mov al, 0xff
jmp 0x14009459c