Function at 0x140327e3c
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, 0x98
xor r12d, r12d
mov r14, r8
mov r10, rdx
mov r11, rcx
mov edi, r12d
mov esi, r12d
cmp word [rsp + 0x100], r12w
je 0x140327e9a
mov rax, qword [rcx]
mov r9, qword [rax]
test byte [r9 + 0x60], 0x40
jne 0x1403286a3
movzx r9d, word [rsp + 0xf8]
movzx ebx, word [rdx]
mov word [rsp + 0x56], bx
cmp ebx, 0x3f
ja 0x1403286a3
mov r8d, 1
mov dword [rsp + 0x3c], ebx
mov ecx, ebx
mov qword [rsp + 0x68], r12
mov edx, r8d
mov qword [rsp + 0x58], r12
shl rdx, cl
mov r13b, r8b
sub rdx, r8
mov dword [rsp + 0x38], r13d
mov r8d, dword [rsp + 0x3c]
mov ecx, 0x803
movzx eax, r9w
mov qword [rsp + 0x70], rdx
and ax, cx
mov rbx, r12
neg ax
mov qword [rsp + 0x78], rbx
mov ecx, r12d
mov rbp, r12
sbb r15w, r15w
mov dword [rsp + 0x50], ecx
neg r15w
add r15w, 0x182
mov word [rsp + 0x30], r15w
cmp rsi, rdx
jae 0x14032864f
movzx eax, word [rsp + 0x100]
cmp ecx, eax
jg 0x140328667
test ecx, ecx
jle 0x140327f37
or rbp, qword [rdi + 8]
mov qword [rsp + 0x58], rbp
cmp ecx, eax
jge 0x140327f59
bt r9w, 0xb
mov rax, qword [r14 + 0x18]
mov rdi, qword [rax + rbx*8]
mov qword [rsp + 0x80], rdi
jb 0x14032862e
jmp 0x140327f69
mov rdi, qword [rsp + 0x108]
mov qword [rsp + 0x80], rdi
test dword [rdi + 0x38], 0x400
jne 0x140328657
movzx eax, r9w
mov ecx, 0x80
and ax, cx
mov word [rsp + 0x54], ax
je 0x140327f8e
mov word [rdi + 0x1e], r12w
movzx eax, byte [rdi + 0x10]
mov ebp, r12d
imul rcx, rax, 0x70
mov rax, qword [r11 + 8]
mov edx, dword [rcx + rax + 0x4c]
mov dword [rsp + 0x44], edx
test r8d, r8d
je 0x140328104
mov r13d, dword [rsp + 0x3c]
mov eax, ebp
bt rsi, rax
jb 0x1403280ec
mov r14d, ebp
shl r14, 5
mov r12d, ebp
mov rcx, qword [r14 + r10 + 8]
call fcn.1402e49b4
mov rbx, rax
test rax, rax
je 0x1403280ec
mov al, byte [rax]
add al, 0x59
test al, 0xfd
jne 0x1403280ec
cmp dword [rbx + 0x2c], edx
jne 0x1403280ec
mov r9, qword [rsp + 0x58]
lea rcx, [r11 + 0x78]
movsx r8d, word [rbx + 0x30]
xor r10d, r10d
movzx eax, r15w
not r9
mov qword [rsp + 0x28], r10
mov dword [rsp + 0x20], eax
call fcn.140319364
xor r11d, r11d
mov r15, rax
test rax, rax
je 0x1403280d2
lea r9d, [r11 + 1]
cmp word [rax + 0x14], r9w
jne 0x140328057
movzx edx, word [rdi + 0x3c]
mov ecx, r11d
test edx, edx
je 0x140328053
mov r8, qword [rdi + 0x48]
movsxd rax, ecx
cmp r15, qword [r8 + rax*8]
je 0x140328053
add ecx, r9d
cmp ecx, edx
jl 0x140328043
cmp ecx, edx
jge 0x1403280d2
test byte [r15 + 0x14], 0x82
je 0x1403280ce
cmp word [rbx + 0x30], r11w
jl 0x1403280ce
mov rbx, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0xe8]
mov rbx, qword [rbx]
mov rdx, qword [r14 + rdx + 8]
mov rcx, rbx
call fcn.1402e3104
mov r14, rax
test rax, rax
jne 0x140328094
mov rax, qword [rbx]
mov r14, qword [rax + 0x10]
mov rax, qword [r15]
test dword [rax + 4], 0x200
je 0x1403280aa
mov rdx, qword [rax + 0x18]
mov r8, qword [rax + 0x10]
jmp 0x1403280b2
mov rdx, qword [rax + 0x10]
mov r8, qword [rax + 0x18]
mov rcx, rbx
call fcn.1402d6f04
test rax, rax
je 0x1403280d2
mov rdx, qword [rax]
mov rcx, qword [r14]
call fcn.140304f38
test eax, eax
jne 0x1403280d2
bts rsi, r12
mov r10, qword [rsp + 0xe8]
mov r11, qword [rsp + 0xe0]
mov edx, dword [rsp + 0x44]
movzx r15d, word [rsp + 0x30]
inc ebp
cmp ebp, r13d
jl 0x140327fb3
mov r13d, dword [rsp + 0x38]
xor r12d, r12d
mov r8d, dword [rsp + 0x3c]
test dword [rdi + 0x38], 0x1000
jne 0x140328562
test dword [rdi + 0x38], 0x100
je 0x140328132
mov r11d, dword [rsp + 0x38]
mov ebp, 1
movzx eax, bp
mov word [rsp + 0x4c], r12w
mov r14, r12
jmp 0x14032817f
mov r14, qword [rdi + 0x20]
test r14, r14
je 0x1403286a3
test byte [r14 + 0x64], 4
jne 0x1403286a3
movzx eax, word [r14 + 0x5e]
mov word [rsp + 0x4c], ax
movzx eax, word [r14 + 0x60]
cmp byte [r14 + 0x62], r12b
je 0x140328172
test dword [rdi + 0x38], 0x8000
jne 0x140328172
mov ebp, 1
mov r11b, bpl
jmp 0x14032817a
mov r11b, r12b
mov ebp, 1
mov dword [rsp + 0x38], r11d
xor r9d, r9d
movzx eax, ax
mov byte [rsp + 0x34], r12b
mov ebx, r9d
mov byte [rsp + 0x33], r12b
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x60], eax
test eax, eax
je 0x140328553
movzx r8d, word [rdi + 0x18]
cmp ebx, r8d
jge 0x140328227
movzx eax, word [rdi + 0x3e]
cmp ebx, eax
jl 0x140328227
mov r9, qword [rdi + 0x48]
movsxd rax, ebx
mov rcx, qword [r9 + rax*8]
movzx eax, word [rcx + 0x14]
test ax, r15w
je 0x1403281f3
mov ecx, 0x180
mov r9d, 0
test cx, ax
mov ecx, r9d
movzx eax, r11b
cmove ecx, eax
mov r11b, cl
lea ebp, [r9 + 1]
mov dword [rsp + 0x38], r11d
jmp 0x14032851a
mov r15d, 1
test r15b, al
je 0x14032821a
mov r10, qword [rcx]
lea edx, [rbx + 1]
jmp 0x140328215
movsxd rax, edx
mov rcx, qword [r9 + rax*8]
cmp qword [rcx], r10
je 0x14032821f
add edx, r15d
cmp edx, r8d
jl 0x140328206
xor r9d, r9d
jmp 0x14032822d
xor r9d, r9d
mov bpl, r9b
jmp 0x14032822d
mov r15d, 1
test r14, r14
je 0x140328263
mov rax, qword [r14 + 8]
mov r10d, 0xffffffff
movsxd rcx, ebx
movsx r13d, word [rax + rcx*2]
mov rax, qword [r14 + 0x38]
mov dl, byte [rcx + rax]
mov rax, qword [r14 + 0x18]
and dl, r15b
mov byte [rsp + 0x32], dl
movsx ecx, word [rax + 0x34]
cmp r13d, ecx
cmove r13d, r10d
jmp 0x14032826f
or r10d, 0xffffffff
mov byte [rsp + 0x32], r9b
mov r13d, r10d
test r11b, r11b
je 0x1403282ac
test r13d, r13d
js 0x14032829b
cmp ebx, r8d
jl 0x1403282ac
movsxd rax, r13d
lea rdx, [rax + rax*2]
mov rax, qword [r14 + 0x18]
mov rcx, qword [rax + 8]
test byte [rcx + rdx*8 + 8], 0xf
jne 0x1403282ac
mov byte [rsp + 0x38], r9b
jmp 0x1403282ac
cmp r13d, 0xfffffffe
movzx r11d, r11b
cmove r11d, r9d
mov dword [rsp + 0x38], r11d
mov r15d, r9d
test bpl, bpl
je 0x1403283c8
cmp r15d, dword [rsp + 0x3c]
jge 0x1403283c3
mov eax, r15d
bt rsi, rax
jb 0x140328490
mov r8, qword [rsp + 0xe8]
movsxd rax, r15d
shl rax, 5
mov qword [rsp + 0x88], rax
mov rcx, qword [rax + r8 + 8]
call fcn.1402e49b4
mov rdx, rax
test rax, rax
je 0x140328490
movzx ecx, word [rsp + 0xf8]
mov al, cl
and al, 0xc0
neg al
sbb al, al
and al, bpl
mov byte [rsp + 0x40], al
mov bpl, al
cmp r13d, r10d
jl 0x1403283ee
cmp byte [rdx], 0xa7
je 0x14032832e
cmp byte [rdx], 0xa9
jne 0x140328490
mov r9d, dword [rsp + 0x44]
cmp dword [rdx + 0x2c], r9d
jne 0x14032848d
movsx eax, word [rdx + 0x30]
cmp eax, r13d
jne 0x14032848d
movsxd r12, ebx
cmp r13d, r10d
jne 0x14032842f
xor r9d, r9d
mov ebp, 1
cmp word [rsp + 0x54], r9w
je 0x14032836d
lea eax, [rbx + rbp]
mov word [rdi + 0x1e], ax
test cl, 0x40
jne 0x1403284ce
mov r9b, byte [rsp + 0x34]
movsxd rax, r15d
shl rax, 5
mov dl, byte [rax + r8 + 0x18]
xor eax, eax
and dl, bpl
test r9b, r9b
je 0x1403284a5
mov r10b, byte [rsp + 0x33]
mov ecx, eax
mov r8b, byte [rsp + 0x32]
xor r8b, r10b
movzx eax, bpl
cmp r8b, dl
mov byte [rsp + 0x34], r9b
mov byte [rsp + 0x33], r10b
cmove ecx, eax
xor r9d, r9d
test cl, cl
jne 0x1403284ce
mov r12d, dword [rsp + 0x48]
mov r10, qword [rsp + 0xe8]
test ebx, ebx
je 0x1403283e1
movzx eax, word [rsp + 0x4c]
cmp ebx, eax
jge 0x140328537
mov r13b, r9b
mov dword [rsp + 0x38], r13d
jmp 0x14032853c
mov rax, qword [r14 + 0x50]
movsxd r12, ebx
mov rcx, r12
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.1402e49b4
mov rcx, rdx
mov r8, rax
call fcn.1402e49b4
mov r9d, dword [rsp + 0x44]
mov rdx, rax
xor ecx, ecx
call fcn.1402e32b0
xor r9d, r9d
test eax, eax
jne 0x140328490
mov r8, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0x88]
mov rbp, qword [rax]
mov rdx, qword [rdx + r8 + 8]
mov rcx, rbp
call fcn.1402e3104
test rax, rax
jne 0x14032845c
mov rax, qword [rbp]
mov rax, qword [rax + 0x10]
mov rdx, qword [r14 + 0x40]
mov rcx, qword [rax]
mov bpl, byte [rsp + 0x40]
mov rdx, qword [rdx + r12*8]
call fcn.140304f38
xor r9d, r9d
test eax, eax
jne 0x140328490
mov r8, qword [rsp + 0xe8]
movzx ecx, word [rsp + 0xf8]
jmp 0x140328359
xor r9d, r9d
inc r15d
test bpl, bpl
je 0x1403283c3
or r10d, 0xffffffff
jmp 0x1403282b8
xor dl, byte [rsp + 0x32]
mov byte [rsp + 0x33], dl
je 0x1403284c6
mov rdx, qword [rsp + 0x110]
movsxd rax, dword [rsp + 0x50]
mov rcx, qword [rdx]
bts rcx, rax
mov qword [rdx], rcx
mov byte [rsp + 0x34], bpl
xor r9d, r9d
mov r10, qword [rsp + 0xe8]
movsxd rcx, r15d
mov rax, rcx
shl rax, 5
test byte [rax + r10 + 0x18], 2
je 0x1403284f5
movzx eax, word [rdi + 0x18]
cmp ebx, eax
jne 0x14032852d
bts dword [rdi + 0x38], 0x13
mov r12d, dword [rsp + 0x48]
cmp r13d, 0xffffffff
mov r11d, dword [rsp + 0x38]
movzx r15d, word [rsp + 0x30]
movzx r12d, r12b
cmove r12d, ebp
bts rsi, rcx
mov dword [rsp + 0x48], r12d
add ebx, ebp
cmp ebx, dword [rsp + 0x60]
jl 0x1403281a3
mov r13d, dword [rsp + 0x38]
jmp 0x140328541
mov r12d, dword [rsp + 0x48]
jmp 0x1403283d0
mov r13d, dword [rsp + 0x38]
mov ebp, 1
test r12b, r12b
je 0x14032855a
mov r13b, bpl
xor r12d, r12d
mov dword [rsp + 0x38], r13d
jmp 0x14032856b
mov r13d, dword [rsp + 0x38]
jmp 0x14032855f
mov r8d, dword [rsp + 0x3c]
xor r12d, r12d
test r13b, r13b
je 0x140328601
mov rbp, qword [rsp + 0x68]
mov ebx, r12d
or rbp, qword [rdi + 8]
mov r12d, dword [rsp + 0x3c]
mov qword [rsp + 0x68], rbp
test r12d, r12d
je 0x1403285fb
mov r13, qword [rsp + 0xe0]
mov rdi, rbp
mov eax, ebx
bt rsi, rax
jb 0x1403285df
mov eax, ebx
lea rcx, [r13 + 0x260]
shl rax, 5
mov r15d, ebx
mov rbp, qword [rax + r10 + 8]
mov rdx, rbp
call fcn.1403191fc
mov r14, rax
test rax, rax
jne 0x1403285d0
xor r8d, r8d
lea edx, [rax + 1]
mov rcx, rbp
call fcn.14029167c
test eax, eax
je 0x1403285df
mov rax, rdi
not rax
test r14, rax
jne 0x1403285df
bts rsi, r15
mov r10, qword [rsp + 0xe8]
inc ebx
cmp ebx, r12d
jl 0x140328591
mov rdi, qword [rsp + 0x80]
mov r13d, dword [rsp + 0x38]
mov r8d, r12d
xor r12d, r12d
mov ecx, dword [rsp + 0x50]
mov rdx, qword [rsp + 0x70]
movzx r9d, word [rsp + 0xf8]
mov r11, qword [rsp + 0xe0]
movzx r15d, word [rsp + 0x30]
mov rbp, qword [rsp + 0x58]
mov r14, qword [rsp + 0xf0]
mov ebx, 1
add qword [rsp + 0x78], rbx
add ecx, ebx
mov rbx, qword [rsp + 0x78]
mov dword [rsp + 0x50], ecx
test r13b, r13b
jne 0x140327f11
cmp rsi, rdx
jne 0x140328667
mov al, byte [rsp + 0x56]
jmp 0x1403286a5
cmp byte [rdi + 0x20], r12b
je 0x140328667
mov eax, 0x80
test al, r9b
jmp 0x14032864f
test r13b, r13b
jne 0x1403286bd
mov edx, dword [rsp + 0x3c]
dec edx
test edx, edx
jle 0x1403286a3
mov r8d, 1
mov ecx, edx
mov rax, r8
shl rax, cl
mov rcx, r12
sub rax, r8
cmp edx, 0x40
cmovl rcx, rax
mov rax, rcx
and rax, rsi
cmp rax, rcx
je 0x1403286b9
sub edx, r8d
test edx, edx
jg 0x14032867c
xor al, al
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov al, dl
jmp 0x1403286a5
or eax, 0xffffffff
jmp 0x1403286a5