Function at 0x140093470
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 r13
push r15
sub rsp, 0xf8
mov rax, qword [rcx]
mov r13, r8
movzx edi, word [rsp + 0x140]
mov r8, rdx
xor edx, edx
mov r15, rcx
mov qword [rsp + 0x48], rdx
mov r12d, edx
mov rax, qword [rax]
mov r11d, edx
mov qword [rsp + 0x80], rax
test di, di
je 0x1400934db
test byte [rax + 0x50], 0x80
je 0x1400934db
xor al, al
add rsp, 0xf8
pop r15
pop r13
pop r12
pop rdi
ret
mov qword [rsp + 0xd8], r14
movzx r14d, word [r8]
mov word [rsp + 0x68], r14w
cmp r14w, 0x3f
jbe 0x1400934fb
xor al, al
jmp 0x140093cef
mov qword [rsp + 0xf0], rbx
mov al, 1
mov qword [rsp + 0xe8], rbp
mov ebx, 1
movzx ebp, r9w
mov qword [rsp + 0xe0], rsi
mov r9d, edx
movzx esi, r14w
mov ecx, esi
mov dword [rsp + 0x38], eax
shl rbx, cl
mov r10, rdx
dec rbx
mov dword [rsp + 0x30], esi
mov ecx, 0x800
mov qword [rsp + 0x88], rbx
and bp, cx
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0x60], rdx
mov ecx, edx
setne r9b
mov word [rsp + 0x40], bp
add r9w, 0x182
mov dword [rsp + 0x5c], edx
mov dword [rsp + 0x3c], r9d
mov qword [rsp + 0x90], rdx
cmp r11, rbx
jae 0x140093c9a
movzx eax, di
cmp ecx, eax
jg 0x140093c93
test ecx, ecx
jle 0x140093599
or r10, qword [r12 + 8]
mov qword [rsp + 0x60], r10
cmp ecx, eax
jge 0x1400935b5
mov rax, qword [r13 + 0x18]
mov r12, qword [rax + rdx*8]
mov qword [rsp + 0x70], r12
test bp, bp
jne 0x140093c58
jmp 0x1400935c2
mov r12, qword [rsp + 0x148]
mov qword [rsp + 0x70], r12
test dword [r12 + 0x28], 0x400
jne 0x140093c83
movzx eax, byte [r12 + 0x10]
xor edi, edi
imul rcx, rax, 0x78
mov word [r12 + 0x1e], di
mov ebp, edi
mov rax, qword [r15 + 8]
mov edx, dword [rcx + rax + 0x50]
mov dword [rsp + 0x50], edx
test esi, esi
jle 0x140093746
mov r13d, dword [rsp + 0x30]
lea rsi, [r8 + 8]
mov r14d, edi
nop word [rax + rax]
mov eax, ebp
bt r11, rax
jb 0x140093731
mov rbx, qword [rsi]
test rbx, rbx
je 0x140093646
mov eax, dword [rbx + 4]
bt eax, 0xc
jae 0x140093646
bt eax, 0x12
jae 0x14009363d
mov rax, qword [rbx + 0x20]
mov rbx, qword [rax + 8]
jmp 0x140093641
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x140093624
cmp byte [rbx], 0x98
jne 0x140093731
cmp dword [rbx + 0x2c], edx
jne 0x140093731
movsx r8d, word [rbx + 0x30]
lea rcx, [r15 + 0x68]
movzx eax, r9w
mov r9, r10
not r9
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], eax
call fcn.14008f360
mov rdi, rax
test rax, rax
je 0x14009371c
movzx r9d, word [rax + 0x14]
cmp r9w, 1
jne 0x1400936b5
movzx edx, word [r12 + 0x2c]
xor ecx, ecx
test edx, edx
jle 0x1400936b1
mov r8, qword [r12 + 0x38]
movsxd rax, ecx
cmp rdi, qword [r8 + rax*8]
je 0x1400936b1
inc ecx
cmp ecx, edx
jl 0x1400936a2
cmp ecx, edx
jge 0x14009371c
test r9b, 0x82
je 0x14009370c
cmp word [rbx + 0x30], 0
jl 0x14009370c
mov rdx, qword [rsi]
mov rcx, qword [r15]
call fcn.140049ee0
test rax, rax
jne 0x1400936de
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 0x10]
mov rdx, qword [rdi]
mov rcx, qword [r15]
mov rbx, qword [rax]
call fcn.140049ee0
test rax, rax
jne 0x1400936fd
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 0x10]
mov rdx, qword [rax]
mov rcx, rbx
call fcn.140015760
test eax, eax
jne 0x14009371c
mov r11, qword [rsp + 0x48]
bts r11, r14
mov qword [rsp + 0x48], r11
jmp 0x140093721
mov r11, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
xor edi, edi
mov r9d, dword [rsp + 0x3c]
mov edx, dword [rsp + 0x50]
inc ebp
inc r14
add rsi, 0x28
cmp ebp, r13d
jl 0x140093610
mov esi, r13d
mov eax, dword [r12 + 0x28]
bt eax, 0xc
jb 0x140093b03
mov r14d, 0x100
test r14d, eax
je 0x140093773
mov ebp, dword [rsp + 0x38]
xor edx, edx
mov r13d, edx
mov word [rsp + 0x54], dx
lea eax, [rdx + 1]
jmp 0x1400937aa
mov r13, qword [r12 + 0x20]
test r13, r13
je 0x140093ccc
test byte [r13 + 0x64], 4
jne 0x140093ccc
cmp byte [r13 + 0x62], 0
movzx eax, word [r13 + 0x5e]
setne bpl
mov word [rsp + 0x54], ax
movzx eax, word [r13 + 0x60]
xor edx, edx
mov dword [rsp + 0x38], ebp
xor cl, cl
movzx eax, ax
xor bl, bl
mov byte [rsp + 0x35], cl
mov byte [rsp + 0x34], cl
mov r15d, edx
mov dword [rsp + 0x58], ebx
mov dword [rsp + 0x78], eax
test eax, eax
jle 0x140093b03
nop dword [rax]
movzx r8d, word [r12 + 0x18]
mov dil, 1
cmp r15d, r8d
jge 0x14009384a
movzx eax, word [r12 + 0x2e]
cmp r15d, eax
jl 0x14009384a
mov r9, qword [r12 + 0x38]
movsxd rax, r15d
mov r10, qword [r9 + rax*8]
movzx eax, word [r10 + 0x14]
test word [rsp + 0x3c], ax
je 0x14009381a
test r14w, ax
mov ecx, edx
movzx eax, bpl
cmove ecx, eax
movzx ebp, cl
mov dword [rsp + 0x38], ebp
jmp 0x140093aec
test al, 1
je 0x14009384a
mov r10, qword [r10]
lea edx, [r15 + 1]
cmp edx, r8d
jge 0x140093848
nop word [rax + rax]
movsxd rax, edx
mov rcx, qword [r9 + rax*8]
cmp qword [rcx], r10
je 0x140093845
inc edx
cmp edx, r8d
jl 0x140093830
jmp 0x140093848
xor dil, dil
xor edx, edx
test r13, r13
je 0x140093877
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]
movsx ecx, word [rax + 0x44]
cmp r14d, ecx
jne 0x14009387e
or r14d, 0xffffffff
jmp 0x14009387e
or r14d, 0xffffffff
xor r12b, r12b
test bpl, bpl
je 0x1400938ac
test r14d, r14d
js 0x1400938ac
cmp r15d, r8d
jl 0x1400938ac
mov rax, qword [r13 + 0x18]
movzx ebp, bpl
mov rcx, qword [rax + 8]
movsxd rax, r14d
shl rax, 5
cmp byte [rax + rcx + 0x18], 0
cmove ebp, edx
mov dword [rsp + 0x38], ebp
mov ebp, edx
test dil, dil
je 0x140093a14
cmp ebp, esi
jge 0x140093a10
mov eax, ebp
bt r11, rax
jb 0x140093a05
movsxd rax, ebp
lea rcx, [rax + rax*4]
mov rax, qword [rsp + 0x128]
lea rsi, [rax + rcx*8]
mov rcx, qword [rax + rcx*8 + 8]
test rcx, rcx
je 0x140093912
nop dword [rax + rax]
mov eax, dword [rcx + 4]
bt eax, 0xc
jae 0x140093912
bt eax, 0x12
jae 0x140093909
mov rcx, qword [rcx + 0x20]
mov rcx, qword [rcx + 8]
jmp 0x14009390d
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x1400938f0
test byte [rsp + 0x138], 0xc0
movzx eax, dil
cmovne edx, eax
movzx edi, dl
movzx ebx, dl
cmp r14d, 0xffffffff
jl 0x140093952
cmp byte [rcx], 0x98
jne 0x1400939ff
mov eax, dword [rsp + 0x50]
cmp dword [rcx + 0x2c], eax
jne 0x1400939ff
movsx eax, word [rcx + 0x30]
cmp eax, r14d
jne 0x1400939ff
jmp 0x140093974
mov rdx, qword [r13 + 0x50]
mov r8d, dword [rsp + 0x50]
movsxd rax, r15d
lea r9, [rax + rax*4]
mov rdx, qword [rdx + r9*8 + 8]
call fcn.1400526f0
test eax, eax
jne 0x1400939fa
test r14d, r14d
js 0x140093a44
mov rax, qword [rsp + 0x120]
mov rdx, qword [rsi + 8]
mov rcx, qword [rax]
call fcn.140049ee0
test rax, rax
jne 0x1400939a2
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 0x10]
mov rdx, qword [rax]
lea r11, [0x1400c9580]
mov rax, qword [r13 + 0x40]
movsxd rcx, r15d
movzx r8d, byte [rdx]
mov r10, qword [rax + rcx*8]
movzx r9d, byte [r8 + r11]
movzx eax, byte [r10]
movzx eax, byte [rax + r11]
sub r9d, eax
jne 0x1400939f2
sub r10, rdx
test r8b, r8b
je 0x1400939f2
movzx r8d, byte [rdx + 1]
inc rdx
movzx eax, byte [r10 + rdx]
movzx r9d, byte [r8 + r11]
movzx ecx, byte [rax + r11]
sub r9d, ecx
je 0x1400939d1
movzx edi, bl
test r9d, r9d
je 0x140093a44
mov r11, qword [rsp + 0x48]
mov esi, dword [rsp + 0x30]
xor edx, edx
inc ebp
test dil, dil
jne 0x1400938b7
mov ebx, dword [rsp + 0x58]
test r15d, r15d
je 0x140093a23
movzx eax, word [rsp + 0x54]
cmp r15d, eax
jge 0x140093a28
mov byte [rsp + 0x38], 0
mov r11, qword [rsp + 0x48]
mov r12, qword [rsp + 0x70]
test bl, bl
je 0x140093b03
mov byte [rsp + 0x38], 1
jmp 0x140093b0e
mov rcx, qword [rsp + 0x70]
lea eax, [r15 + 1]
movzx r9d, word [rsp + 0x138]
mov word [rcx + 0x1e], ax
test r9b, 0x40
jne 0x140093ab3
cmp byte [rsp + 0x35], 0
movsxd rax, ebp
lea rcx, [rax + rax*4]
mov rax, qword [rsp + 0x128]
je 0x140093a89
xor r12b, byte [rsp + 0x34]
cmp r12b, byte [rax + rcx*8 + 0x20]
sete al
test al, al
je 0x140093a10
jmp 0x140093ab3
movzx edx, byte [rax + rcx*8 + 0x20]
xor dl, r12b
mov byte [rsp + 0x34], dl
je 0x140093aae
mov rdx, qword [rsp + 0x150]
movsxd rax, dword [rsp + 0x5c]
mov rcx, qword [rdx]
bts rcx, rax
mov qword [rdx], rcx
mov byte [rsp + 0x35], 1
mov ebx, dword [rsp + 0x58]
cmp r14d, 0xffffffff
mov r11, qword [rsp + 0x48]
mov eax, 1
mov r12, qword [rsp + 0x70]
mov r14d, 0x100
movzx ebx, bl
cmove ebx, eax
movsxd rax, ebp
mov ebp, dword [rsp + 0x38]
bts r11, rax
mov qword [rsp + 0x48], r11
xor edx, edx
mov dword [rsp + 0x58], ebx
inc r15d
cmp r15d, dword [rsp + 0x78]
jge 0x140093a2d
mov esi, dword [rsp + 0x30]
jmp 0x1400937d0
cmp byte [rsp + 0x38], 0
je 0x140093c21
mov r15, qword [rsp + 0x98]
xor eax, eax
or r15, qword [r12 + 8]
mov edi, eax
mov esi, dword [rsp + 0x30]
mov qword [rsp + 0x98], r15
test esi, esi
jle 0x140093c25
mov r14, qword [rsp + 0x128]
mov esi, eax
mov r12, qword [rsp + 0x120]
add r14, 8
mov r13d, dword [rsp + 0x30]
nop
mov eax, edi
bt r11, rax
jb 0x140093c05
mov rbx, qword [r14]
lea rcx, [r12 + 0x290]
mov rdx, rbx
call fcn.14008eab0
mov rbp, rax
test rax, rax
jne 0x140093be5
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xb8], rax
lea rax, [fcn.14004c9b0]
mov qword [rsp + 0xa8], rax
lea rax, [0x14004cae0]
mov qword [rsp + 0xb0], rax
xor eax, eax
mov byte [rsp + 0xc4], 1
mov dword [rsp + 0xc8], eax
test rbx, rbx
je 0x140093be5
mov rdx, rbx
lea rcx, [rsp + 0xa0]
call fcn.140047390
cmp byte [rsp + 0xc4], 0
je 0x140093c00
mov r11, qword [rsp + 0x48]
mov rax, r15
not rax
test rbp, rax
jne 0x140093c05
bts r11, rsi
mov qword [rsp + 0x48], r11
jmp 0x140093c05
mov r11, qword [rsp + 0x48]
inc edi
inc rsi
add r14, 0x28
cmp edi, r13d
jl 0x140093b50
mov r12, qword [rsp + 0x70]
mov esi, r13d
jmp 0x140093c25
mov esi, dword [rsp + 0x30]
mov r8, qword [rsp + 0x128]
mov ecx, dword [rsp + 0x5c]
mov r9d, dword [rsp + 0x3c]
mov r10, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x88]
movzx edi, word [rsp + 0x140]
movzx ebp, word [rsp + 0x40]
mov r13, qword [rsp + 0x130]
inc qword [rsp + 0x90]
inc ecx
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x5c], ecx
test al, al
je 0x140093c97
mov r15, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x90]
jmp 0x140093577
cmp byte [r12 + 0x1d], 0
mov rcx, rbx
cmove rcx, r11
mov r11, rcx
mov eax, dword [rsp + 0x38]
cmp r11, rbx
jne 0x140093ca3
movzx eax, byte [rsp + 0x68]
jmp 0x140093cd7
test al, al
jne 0x140093cd5
lea ecx, [rsi - 1]
test ecx, ecx
jle 0x140093ccc
nop
mov edx, 1
shl rdx, cl
dec rdx
mov rax, rdx
and rax, r11
cmp rax, rdx
je 0x140093cd0
dec ecx
test ecx, ecx
jg 0x140093cb0
xor al, al
jmp 0x140093cd7
movzx eax, cl
jmp 0x140093cd7
mov al, 0xff
mov rsi, qword [rsp + 0xe0]
mov rbp, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0xf0]
mov r14, qword [rsp + 0xd8]
add rsp, 0xf8
pop r15
pop r13
pop r12
pop rdi
ret