Function at 0x14009fb70
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
push rbp
sub rsp, 0x1b8
mov r12, rdx
mov rbx, rcx
movzx r10d, byte [r12 + 1]
shl r10, 8
movzx r9d, byte [r12]
movzx r11d, byte [r12 + 2]
or r9, r10
shl r11, 0x10
movzx r8d, byte [r12 + 5]
or r9, r11
movzx eax, byte [r12 + 3]
shl r8, 8
shl rax, 0x18
movzx r13d, byte [r12 + 4]
or r9, rax
movzx r10d, byte [r12 + 6]
or r13, r8
movzx r15d, byte [r12 + 8]
shl r10, 0x10
movzx eax, byte [r12 + 0xb]
or r13, r10
movzx edi, byte [r12 + 0xe]
shl r15, 8
movzx r14d, byte [r12 + 0x11]
shl rax, 8
shl rdi, 8
shl r14, 8
movzx r10d, byte [r12 + 7]
movzx edx, byte [r12 + 0xd]
or r10, r15
movzx r15d, byte [r12 + 0xa]
or rdx, rdi
movzx edi, byte [r12 + 0x12]
or r15, rax
movzx eax, byte [r12 + 0x10]
movzx ebp, byte [r12 + 0xf]
or rax, r14
shl rdi, 0x10
shl rbp, 0x10
or rax, rdi
movzx edi, byte [r12 + 0x13]
or rdx, rbp
movzx ebp, byte [r12 + 0x15]
shl rdi, 0x18
shl rbp, 8
or rax, rdi
movzx edi, byte [r12 + 0x14]
or rdi, rbp
movzx ebp, byte [r12 + 0x16]
movzx r8d, byte [r12 + 0x18]
shl rbp, 0x10
shl r8, 8
or rdi, rbp
movzx ebp, byte [r12 + 0x17]
or rbp, r8
movzx r8d, byte [r12 + 0x19]
movzx r14d, byte [r12 + 0x1b]
shl r8, 0x10
shl r14, 8
or rbp, r8
movzx r8d, byte [r12 + 0x1a]
or r8, r14
movzx r14d, byte [r12 + 0x1c]
shl r14, 0x10
movzx r11d, byte [r12 + 9]
or r8, r14
movzx esi, byte [r12 + 0xc]
mov cl, byte [r12 + 0x1f]
movzx r14d, byte [r12 + 0x1d]
movzx r12d, byte [r12 + 0x1e]
shl r12, 8
or r14, r12
movzx r12d, cl
shl r12, 0x10
or r14, r12
and r14, 0x7fffff
shl rsi, 0x10
or r15, rsi
lea rsi, [rdx*4]
shl r11, 0x10
or r10, r11
lea r12, [r14*4]
shl r13, 6
shl r10, 5
lea r11, [r15*8]
shl rdi, 7
shl rbp, 5
shl r8, 4
mov byte [rsp + 0x58], cl
cmp r12, 0x1fffffc
jne 0x14009fd9b
cmp r8, 0xffffff0
jne 0x14009fd9b
cmp rbp, 0x1fffffe0
jne 0x14009fd9b
cmp rdi, 0x7fffff80
jne 0x14009fd9b
movabs rcx, 0xffffffff
cmp rax, rcx
jne 0x14009fd9b
cmp rsi, 0x3fffffc
jne 0x14009fd9b
cmp r11, 0x7fffff8
jne 0x14009fd9b
cmp r10, 0x1fffffe0
jne 0x14009fd9b
cmp r13, 0x3fffffc0
jne 0x14009fd9b
movabs rsi, 0xffffffed
cmp r9, rsi
jl 0x14009fd9b
mov eax, 0xffffffff
add rsp, 0x1b8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov qword [rsp + 0x38], r12
lea r14, [r14*4 + 0x1000000]
shr r14, 0x19
lea r12, [r13 + 0x1000000]
imul rsi, r14, 0x13
shr r12, 0x19
lea r15, [r15*8 + 0x1000000]
mov qword [rsp + 0x30], rax
lea rax, [rax + 0x1000000]
mov qword [rsp + 0x20], rbp
lea rbp, [rbp + 0x1000000]
shr r15, 0x19
sar rax, 0x19
shr rbp, 0x19
mov qword [rsp + 0x28], r11
lea r11, [r9 + rsi]
mov qword [rsp + 0x40], r14
lea r14, [r10 + r12]
lea rsi, [r9 + rsi + 0x2000000]
shr rsi, 0x1a
lea r10, [r10 + r12 + 0x2000000]
shl r12, 0x19
lea rdx, [r15 + rdx*4]
shr r10, 0x1a
sub r13, r12
shl r15, 0x19
lea rcx, [rdi + rax]
mov qword [rsp + 0x48], rcx
lea rcx, [r8 + rbp]
mov qword [rsp + 0x50], rcx
mov rcx, rsi
add rsi, r13
mov r13, r10
shl rcx, 0x1a
lea r9, [rdx + 0x2000000]
mov dword [rbx + 0x2c], esi
lea rdi, [rdi + rax + 0x2000000]
shl r13, 0x1a
lea r8, [r8 + rbp + 0x2000000]
mov rsi, qword [rsp + 0x28]
sub r11, rcx
sub rsi, r15
sub r14, r13
shr r9, 0x1a
add r10, rsi
shr rdi, 0x1a
shr r8, 0x1a
shl rax, 0x19
shl rbp, 0x19
mov dword [rbx + 0x28], r11d
mov dword [rbx + 0x30], r14d
mov r11, qword [rsp + 0x30]
mov r12, qword [rsp + 0x20]
sub r11, rax
mov r14, qword [rsp + 0x40]
mov rax, rdi
mov dword [rbx + 0x34], r10d
mov r10, r9
shl r14, 0x19
sub r12, rbp
mov rbp, r8
add r9, r11
mov r15, qword [rsp + 0x38]
add rdi, r12
shl r10, 0x1a
sub r15, r14
shl rax, 0x1a
sub rdx, r10
shl rbp, 0x1a
add r8, r15
mov dword [rbx + 0x3c], r9d
mov dword [rbx + 0x44], edi
mov r9, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
sub r9, rax
sub rdi, rbp
xor eax, eax
mov dword [rbx + 0x38], edx
mov dword [rbx + 0x40], r9d
mov dword [rbx + 0x48], edi
mov dword [rbx + 0x4c], r8d
lea rbp, [0x140000000]
vmovdqu xmm0, xmmword [rbp + rax*4 + 0x155180]
vmovdqu xmmword [rbx + rax*4 + 0x50], xmm0
add rax, 4
cmp rax, 8
jb 0x14009fef7
lea rdx, [rbx + 0x28]
xor eax, eax
lea rcx, [rsp + 0x80]
mov dword [rbx + 0x70], eax
mov dword [rbx + 0x74], eax
mov qword [rsp + 0x140], rdx
call fcn.1400a15a0
lea r8, [0x1401551d8]
lea rcx, [rsp + 0xa8]
lea rdx, [rsp + 0x80]
call fcn.1400a0c70
mov eax, dword [rbx + 0x50]
mov rcx, rbx
mov ebp, dword [rbx + 0x54]
lea rdx, [rsp + 0x80]
mov esi, dword [rbx + 0x58]
lea r8, [rsp + 0xa8]
mov edi, dword [rbx + 0x5c]
mov r9d, dword [rbx + 0x60]
mov r10d, dword [rbx + 0x64]
mov r11d, dword [rbx + 0x68]
mov r12d, dword [rbx + 0x6c]
mov r13d, dword [rbx + 0x70]
mov r14d, dword [rbx + 0x74]
sub dword [rsp + 0x80], eax
sub dword [rsp + 0x84], ebp
sub dword [rsp + 0x88], esi
sub dword [rsp + 0x8c], edi
sub dword [rsp + 0x90], r9d
sub dword [rsp + 0x94], r10d
sub dword [rsp + 0x98], r11d
sub dword [rsp + 0x9c], r12d
sub dword [rsp + 0xa0], r13d
sub dword [rsp + 0xa4], r14d
add dword [rsp + 0xa8], eax
add dword [rsp + 0xac], ebp
add dword [rsp + 0xb0], esi
add dword [rsp + 0xb4], edi
add dword [rsp + 0xb8], r9d
add dword [rsp + 0xbc], r10d
add dword [rsp + 0xc0], r11d
add dword [rsp + 0xc4], r12d
add dword [rsp + 0xc8], r13d
add dword [rsp + 0xcc], r14d
call fcn.1400a0970
mov rdx, rbx
lea rcx, [rsp + 0xd0]
call fcn.1400a15a0
lea rcx, [rsp + 0xd0]
mov rdx, rcx
lea r8, [rsp + 0xa8]
call fcn.1400a0c70
mov eax, dword [rsp + 0xec]
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0xd0]
mov ebx, dword [rsp + 0x80]
mov eax, dword [rsp + 0x9c]
mov r14d, dword [rsp + 0xd4]
mov ebp, dword [rsp + 0x84]
mov edx, dword [rsp + 0xd8]
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x48], ebx
sub ecx, ebx
mov dword [rsp + 0x198], eax
mov dword [rsp + 0x160], r14d
mov r10d, dword [rsp + 0xf0]
sub r14d, ebp
mov r9d, dword [rsp + 0xf4]
mov eax, dword [rsp + 0xa0]
mov ebx, dword [rsp + 0xec]
mov dword [rsp + 0x178], ebp
mov ebp, dword [rsp + 0xf0]
mov esi, dword [rsp + 0x88]
mov r12d, dword [rsp + 0xdc]
mov r11d, dword [rsp + 0xe0]
mov r13d, dword [rsp + 0xe4]
mov r15d, dword [rsp + 0xe8]
mov dword [rsp + 0x68], edx
mov dword [rsp + 0x158], r10d
sub edx, esi
mov dword [rsp + 0x50], r9d
mov dword [rsp + 0x1a0], eax
sub ebx, dword [rsp + 0x9c]
mov edi, dword [rsp + 0x8c]
mov r8d, dword [rsp + 0x90]
mov r9d, dword [rsp + 0x94]
mov r10d, dword [rsp + 0x98]
mov eax, dword [rsp + 0xa4]
sub ebp, dword [rsp + 0xa0]
mov dword [rsp + 0xf8], ecx
lea rcx, [rsp + 0x120]
mov dword [rsp + 0x100], edx
lea rdx, [rsp + 0xf8]
mov dword [rsp + 0x180], esi
mov dword [rsp + 0x148], r12d
mov dword [rsp + 0x60], r11d
sub r12d, edi
mov dword [rsp + 0x150], r13d
sub r11d, r8d
mov dword [rsp + 0x70], r15d
sub r13d, r9d
mov esi, dword [rsp + 0xf4]
sub r15d, r10d
mov dword [rsp + 0x114], ebx
sub esi, eax
mov dword [rsp + 0x170], edi
mov dword [rsp + 0x168], r8d
mov dword [rsp + 0x188], r9d
mov dword [rsp + 0x190], r10d
mov dword [rsp + 0x1a8], eax
mov dword [rsp + 0xfc], r14d
mov dword [rsp + 0x104], r12d
mov dword [rsp + 0x108], r11d
mov dword [rsp + 0x10c], r13d
mov dword [rsp + 0x110], r15d
mov dword [rsp + 0x118], ebp
mov dword [rsp + 0x11c], esi
mov rbx, qword [rsp + 0x20]
call fcn.1400a0700
movzx eax, byte [rsp + 0x120]
movzx ebp, byte [rsp + 0x121]
or eax, ebp
movzx esi, byte [rsp + 0x122]
or eax, esi
movzx edi, byte [rsp + 0x123]
or eax, edi
movzx r8d, byte [rsp + 0x124]
or eax, r8d
movzx r9d, byte [rsp + 0x125]
or eax, r9d
movzx r10d, byte [rsp + 0x126]
or eax, r10d
movzx r11d, byte [rsp + 0x127]
or eax, r11d
movzx r12d, byte [rsp + 0x128]
or eax, r12d
movzx r13d, byte [rsp + 0x129]
or eax, r13d
movzx r14d, byte [rsp + 0x12a]
or eax, r14d
movzx r15d, byte [rsp + 0x12b]
or eax, r15d
movzx ebp, byte [rsp + 0x12c]
or eax, ebp
movzx ebp, byte [rsp + 0x12d]
or eax, ebp
movzx ebp, byte [rsp + 0x12e]
or eax, ebp
movzx ebp, byte [rsp + 0x12f]
or eax, ebp
movzx ebp, byte [rsp + 0x130]
or eax, ebp
movzx ebp, byte [rsp + 0x131]
or eax, ebp
movzx ebp, byte [rsp + 0x132]
or eax, ebp
movzx ebp, byte [rsp + 0x133]
or eax, ebp
movzx ebp, byte [rsp + 0x134]
or eax, ebp
movzx ebp, byte [rsp + 0x135]
or eax, ebp
movzx ebp, byte [rsp + 0x136]
or eax, ebp
movzx ebp, byte [rsp + 0x137]
or eax, ebp
movzx ebp, byte [rsp + 0x138]
or eax, ebp
movzx ebp, byte [rsp + 0x139]
or eax, ebp
movzx ebp, byte [rsp + 0x13a]
or eax, ebp
movzx ebp, byte [rsp + 0x13b]
or eax, ebp
movzx ebp, byte [rsp + 0x13c]
or eax, ebp
movzx ebp, byte [rsp + 0x13d]
or eax, ebp
movzx ebp, byte [rsp + 0x13e]
or eax, ebp
movzx ebp, byte [rsp + 0x13f]
or eax, ebp
dec eax
and eax, 0xffffff00
cmp eax, 0xffffff00
je 0x1400a0571
mov eax, dword [rsp + 0x48]
lea rcx, [rsp + 0x20]
mov ebp, dword [rsp + 0x178]
lea rdx, [rsp + 0xf8]
mov esi, dword [rsp + 0x180]
mov edi, dword [rsp + 0x170]
mov r8d, dword [rsp + 0x168]
mov r9d, dword [rsp + 0x188]
mov r10d, dword [rsp + 0x190]
mov r11d, dword [rsp + 0x198]
mov r12d, dword [rsp + 0x1a0]
mov r13d, dword [rsp + 0x1a8]
add eax, dword [rsp + 0x40]
add ebp, dword [rsp + 0x160]
add esi, dword [rsp + 0x68]
add edi, dword [rsp + 0x148]
add r8d, dword [rsp + 0x60]
add r9d, dword [rsp + 0x150]
add r10d, dword [rsp + 0x70]
add r11d, dword [rsp + 0x78]
add r12d, dword [rsp + 0x158]
add r13d, dword [rsp + 0x50]
mov dword [rsp + 0xf8], eax
mov dword [rsp + 0xfc], ebp
mov dword [rsp + 0x100], esi
mov dword [rsp + 0x104], edi
mov dword [rsp + 0x108], r8d
mov dword [rsp + 0x10c], r9d
mov dword [rsp + 0x110], r10d
mov dword [rsp + 0x114], r11d
mov dword [rsp + 0x118], r12d
mov dword [rsp + 0x11c], r13d
call fcn.1400a0700
movzx eax, byte [rsp + 0x20]
movzx ebp, byte [rsp + 0x21]
or eax, ebp
movzx esi, byte [rsp + 0x22]
or eax, esi
movzx edi, byte [rsp + 0x23]
or eax, edi
movzx r8d, byte [rsp + 0x24]
or eax, r8d
movzx r9d, byte [rsp + 0x25]
or eax, r9d
movzx r10d, byte [rsp + 0x26]
or eax, r10d
movzx r11d, byte [rsp + 0x27]
or eax, r11d
movzx r12d, byte [rsp + 0x28]
or eax, r12d
movzx r13d, byte [rsp + 0x29]
or eax, r13d
movzx r14d, byte [rsp + 0x2a]
or eax, r14d
movzx r15d, byte [rsp + 0x2b]
or eax, r15d
movzx ebp, byte [rsp + 0x2c]
or eax, ebp
movzx ebp, byte [rsp + 0x2d]
or eax, ebp
movzx ebp, byte [rsp + 0x2e]
or eax, ebp
movzx ebp, byte [rsp + 0x2f]
or eax, ebp
movzx ebp, byte [rsp + 0x30]
or eax, ebp
movzx ebp, byte [rsp + 0x31]
or eax, ebp
movzx ebp, byte [rsp + 0x32]
or eax, ebp
movzx ebp, byte [rsp + 0x33]
or eax, ebp
movzx ebp, byte [rsp + 0x34]
or eax, ebp
movzx ebp, byte [rsp + 0x35]
or eax, ebp
movzx ebp, byte [rsp + 0x36]
or eax, ebp
movzx ebp, byte [rsp + 0x37]
or eax, ebp
movzx ebp, byte [rsp + 0x38]
or eax, ebp
movzx ebp, byte [rsp + 0x39]
or eax, ebp
movzx ebp, byte [rsp + 0x3a]
or eax, ebp
movzx ebp, byte [rsp + 0x3b]
or eax, ebp
movzx ebp, byte [rsp + 0x3c]
or eax, ebp
movzx ebp, byte [rsp + 0x3d]
or eax, ebp
movzx ebp, byte [rsp + 0x3e]
or eax, ebp
movzx ebp, byte [rsp + 0x3f]
or eax, ebp
dec eax
and eax, 0xffffff00
cmp eax, 0xffffff00
je 0x1400a055f
mov eax, 0xffffffff
add rsp, 0x1b8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rcx, rbx
mov rdx, rbx
lea r8, [0x140155200]
call fcn.1400a0c70
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.1400a0700
mov bpl, byte [rsp + 0x58]
shr bpl, 7
mov al, byte [rsp + 0x60]
and al, 1
cmp al, bpl
je 0x1400a06d5
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.1400a0700
movzx eax, byte [rsp + 0x40]
movzx ebp, byte [rsp + 0x41]
or eax, ebp
movzx esi, byte [rsp + 0x42]
or eax, esi
movzx edi, byte [rsp + 0x43]
or eax, edi
movzx r8d, byte [rsp + 0x44]
or eax, r8d
movzx r9d, byte [rsp + 0x45]
or eax, r9d
movzx r10d, byte [rsp + 0x46]
or eax, r10d
movzx r11d, byte [rsp + 0x47]
or eax, r11d
movzx r12d, byte [rsp + 0x48]
or eax, r12d
movzx r13d, byte [rsp + 0x49]
or eax, r13d
movzx r14d, byte [rsp + 0x4a]
or eax, r14d
movzx r15d, byte [rsp + 0x4b]
or eax, r15d
movzx ebp, byte [rsp + 0x4c]
or eax, ebp
movzx ebp, byte [rsp + 0x4d]
or eax, ebp
movzx ebp, byte [rsp + 0x4e]
or eax, ebp
movzx ebp, byte [rsp + 0x4f]
or eax, ebp
movzx ebp, byte [rsp + 0x50]
or eax, ebp
movzx ebp, byte [rsp + 0x51]
or eax, ebp
movzx ebp, byte [rsp + 0x52]
or eax, ebp
movzx ebp, byte [rsp + 0x53]
or eax, ebp
movzx ebp, byte [rsp + 0x54]
or eax, ebp
movzx ebp, byte [rsp + 0x55]
or eax, ebp
movzx ebp, byte [rsp + 0x56]
or eax, ebp
movzx ebp, byte [rsp + 0x57]
or eax, ebp
movzx ebp, byte [rsp + 0x58]
or eax, ebp
movzx ebp, byte [rsp + 0x59]
or eax, ebp
movzx ebp, byte [rsp + 0x5a]
or eax, ebp
movzx ebp, byte [rsp + 0x5b]
or eax, ebp
movzx ebp, byte [rsp + 0x5c]
or eax, ebp
movzx ebp, byte [rsp + 0x5d]
or eax, ebp
movzx ebp, byte [rsp + 0x5e]
or eax, ebp
movzx ebp, byte [rsp + 0x5f]
or eax, ebp
dec eax
and eax, 0xffffff00
cmp eax, 0xffffff00
jne 0x1400a06b8
mov eax, 0xffffffff
add rsp, 0x1b8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
neg dword [rbx]
neg dword [rbx + 4]
neg dword [rbx + 8]
neg dword [rbx + 0xc]
neg dword [rbx + 0x10]
neg dword [rbx + 0x14]
neg dword [rbx + 0x18]
neg dword [rbx + 0x1c]
neg dword [rbx + 0x20]
neg dword [rbx + 0x24]
mov rdx, rbx
lea rcx, [rbx + 0x78]
mov r8, qword [rsp + 0x140]
call fcn.1400a0c70
xor eax, eax
add rsp, 0x1b8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret