Function at 0x140695d90
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
mov rax, qword [0x14111a7d8]
xor rax, rsp
mov qword [rsp + 0xa8], rax
mov ebx, dword [rdx]
mov rdi, rcx
xor r13d, r13d
movsxd rax, r8d
xor r12d, r12d
mov qword [rsp + 0x50], rdx
xor ebp, ebp
mov dword [rsp + 0x44], r13d
mov rsi, qword [rdi + 0x90]
mov r15, rdx
mov ecx, dword [rdx + rax*8 - 4]
mov dword [rsp + 0x4c], ecx
test byte [rsi + 0x11], 0x10
jne 0x140695dfa
nop dword [rax + rax]
add rsi, 0x14
test byte [rsi + 0x11], 0x10
je 0x140695df0
xor eax, eax
mov dword [rsp + 0x40], eax
lea r8, [0x140000000]
nop word [rax + rax]
mov edx, dword [rsi]
mov r14d, dword [r15 + 4]
cmp r14d, edx
cmovae r14d, edx
cmp r14d, ebx
jbe 0x140695e4a
mov r8d, r14d
sub r8d, ebx
je 0x140695e3e
mov r9, qword [rdi + 0x50]
mov ecx, eax
mov edx, ebx
add rdx, qword [rdi]
call qword [rdi + 0x38]
mov ebp, eax
test eax, eax
jne 0x140695eb9
mov edx, dword [rsi]
lea r8, [0x140000000]
mov ebx, r14d
cmp ebx, edx
jb 0x140696428
movsx r14, byte [rsi + 0x10]
cmp r14d, 0x7f
ja case.0x140695e75.13
movzx eax, byte [r8 + r14 + 0x696644]
mov ecx, dword [r8 + rax*4 + 0x69660c]
add rcx, r8
jmp rcx
inc edx
add rdx, qword [rdi]
movzx eax, byte [rdx]
cmp al, 0xd
je 0x140695e87
cmp al, 0xa
jne 0x140695e9e
mov r13d, 1
mov dword [rsp + 0x44], r13d
jmp case.0x140695e75.13
lea rdx, [0x140d68488]
mov ecx, dword [rsp + 0x40]
mov r8d, 1
mov r9, qword [rdi + 0x50]
call qword [rdi + 0x38]
mov ebp, eax
test eax, eax
je case.0x140695e75.13
mov rax, qword [rdi + 0x40]
test rax, rax
je case.0x140695e75.12
lea rcx, [0x140e6bf88]
mov rdx, qword [rdi + 0x50]
call rax
mov eax, ebp
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.1408d7570
mov rbx, qword [rsp + 0x100]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r8, qword [rdi + 0x50]
xor edx, edx
lea ecx, [rdx + 4]
test byte [rsi + 0x11], cl
je 0x140695f24
call qword [rdi + 0x28]
mov ebp, eax
test eax, eax
jne 0x140696086
mov dword [rsp + 0x40], 5
jmp case.0x140695e75.13
call qword [rdi + 0x30]
mov ebp, eax
test eax, eax
jne 0x140696051
xor ecx, ecx
mov dword [rsp + 0x40], ecx
jmp case.0x140695e75.13
test dword [rdi + 0x14], 0x4000
je case.0x140695e75.5
test byte [rsi + 0x11], 4
je 0x140695f76
cmp ebx, dword [rsi + 4]
jae case.0x140695e75.13
mov r8, qword [rdi + 0x50]
xor edx, edx
lea ecx, [rdx + 9]
call qword [rdi + 0x28]
mov ebp, eax
test eax, eax
jne 0x140696086
inc ebx
cmp ebx, dword [rsi + 4]
jb 0x140695f54
jmp case.0x140695e75.13
cmp ebx, dword [rsi + 4]
jae case.0x140695e75.13
nop
mov r8, qword [rdi + 0x50]
xor edx, edx
lea ecx, [rdx + 9]
call qword [rdi + 0x30]
mov ebp, eax
test eax, eax
jne 0x140696051
inc ebx
cmp ebx, dword [rsi + 4]
jb 0x140695f80
jmp case.0x140695e75.13
test byte [rsi + 0x11], 4
mov ecx, dword [rsi + 4]
je 0x140696003
mov eax, ecx
sub eax, ebx
test al, 1
je 0x140695fcd
mov r8, qword [rdi + 0x50]
xor edx, edx
xor ecx, ecx
call qword [rdi + 0x28]
mov ebp, eax
test eax, eax
jne 0x140696086
mov ecx, dword [rsi + 4]
inc ebx
inc ebx
cmp ebx, ecx
jae case.0x140695e75.13
nop word [rax + rax]
mov r8, qword [rdi + 0x50]
xor edx, edx
lea ecx, [rdx + 1]
call qword [rdi + 0x28]
mov ebp, eax
test eax, eax
jne 0x140696086
add ebx, 2
cmp ebx, dword [rsi + 4]
jb 0x140695fe0
jmp case.0x140695e75.13
lea r14d, [rbx + 1]
cmp r14d, ecx
jae 0x140696031
nop dword [rax]
mov r8, qword [rdi + 0x50]
xor edx, edx
lea ecx, [rdx + 1]
call qword [rdi + 0x30]
mov ebp, eax
test eax, eax
jne 0x140696051
mov ecx, dword [rsi + 4]
add ebx, 2
add r14d, 2
cmp r14d, ecx
jb 0x140696010
sub ecx, ebx
test cl, 1
je case.0x140695e75.13
mov r8, qword [rdi + 0x50]
xor edx, edx
xor ecx, ecx
call qword [rdi + 0x30]
mov ebp, eax
test eax, eax
je case.0x140695e75.13
mov rax, qword [rdi + 0x40]
test rax, rax
je case.0x140695e75.12
lea rcx, [0x140e6bf60]
jmp 0x140695ec9
mov r8, qword [rdi + 0x50]
xor edx, edx
test byte [rsi + 0x11], 4
lea ecx, [rdx + 5]
je 0x140696044
call qword [rdi + 0x28]
mov ebp, eax
test eax, eax
je case.0x140695e75.13
mov rax, qword [rdi + 0x40]
test rax, rax
je case.0x140695e75.12
lea rcx, [0x140e6bf38]
jmp 0x140695ec9
mov ecx, dword [rsi + 4]
xor edx, edx
mov r8, qword [rdi + 0x50]
sub ecx, ebx
not ecx
and ecx, 1
or ecx, 6
test byte [rsi + 0x11], 4
je 0x140695f24
call qword [rdi + 0x28]
mov ebp, eax
test eax, eax
jne 0x140696086
mov dword [rsp + 0x40], 7
jmp case.0x140695e75.13
mov r10, qword [rdi + 0x90]
cmp r14b, 0x5d
je 0x1406960e4
mov r8, rsi
jmp 0x1406960f0
movsxd rax, dword [rsi + 8]
lea rcx, [rax + rax*4]
lea r8, [r10 + rcx*4]
movsxd rax, dword [r8 + 0xc]
movzx ebx, byte [r8 + 0x10]
lea rcx, [rax + rax*4]
lea rax, [r10 + rcx*4]
cmp bl, 0x5b
jne 0x140696224
cmp byte [rax + 0x10], 0x5d
jne 0x140696224
mov r9d, dword [r8 + 4]
mov r11d, dword [r8]
mov edx, r9d
sub edx, r11d
cmp edx, 2
jb 0x140696224
mov ecx, dword [rax]
mov eax, dword [rax + 4]
sub eax, ecx
cmp eax, 2
jb 0x140696224
cmp edx, 2
jbe 0x140696148
lea ecx, [rdx - 2]
lea edx, [r11 + 2]
jmp 0x14069614e
sub ecx, r9d
mov rdx, r9
add rdx, qword [rdi]
lea rax, [rsp + 0x78]
xorps xmm0, xmm0
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x58]
mov r8d, ecx
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov rcx, rdi
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rsp + 0x88], xmm0
movups xmmword [rsp + 0x98], xmm0
movups xmmword [rsp + 0x58], xmm0
movups xmmword [rsp + 0x68], xmm0
call fcn.140690c90
mov ebp, eax
test eax, eax
js 0x1406961e9
mov r8, qword [rdi + 0x50]
lea rdx, [rsp + 0x58]
mov ecx, 8
cmp r14b, 0x5d
je 0x1406961ca
call qword [rdi + 0x28]
mov ebp, eax
test eax, eax
je 0x1406961e9
mov rax, qword [rdi + 0x40]
test rax, rax
je 0x1406961e9
lea rcx, [0x140e6bf38]
jmp 0x1406961e3
call qword [rdi + 0x30]
mov ebp, eax
test eax, eax
je 0x1406961e9
mov rax, qword [rdi + 0x40]
test rax, rax
je 0x1406961e9
lea rcx, [0x140e6bf60]
mov rdx, qword [rdi + 0x50]
call rax
cmp dword [rsp + 0x94], 0
jle 0x140696217
mov rcx, qword [rsp + 0x78]
call fcn.1408de998
mov rcx, qword [rsp + 0x80]
call fcn.1408de998
mov rcx, qword [rsp + 0x88]
call fcn.1408de998
test ebp, ebp
js case.0x140695e75.12
jmp case.0x140695e75.13
mov r9d, dword [r8 + 0x14]
lea r11, [r8 + 0x28]
mov rcx, r11
movabs rax, 0x6666666666666667
sub rcx, r10
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
lea rcx, [rax + rax*4]
mov eax, dword [r11 + 8]
mov r10, qword [r10 + rcx*4]
mov ecx, dword [r8 + 0x18]
xor r8d, r8d
sub ecx, r9d
mov dword [rsp + 0x38], eax
add r9, qword [rdi]
mov qword [rsp + 0x30], r10
cmp bl, 0x21
mov dword [rsp + 0x28], 0
sete r8b
mov dword [rsp + 0x20], ecx
xor edx, edx
add r8d, 2
cmp r14b, 0x5d
mov rcx, rdi
setne dl
call fcn.1406927b0
mov ebp, eax
test eax, eax
js case.0x140695e75.12
cmp byte [rsi + 0x10], 0x5d
jne case.0x140695e75.13
mov eax, dword [rsi + 4]
cmp eax, dword [r15 + 4]
jbe case.0x140695e75.13
nop word [rax + rax]
add r15, 8
cmp eax, dword [r15 + 4]
ja 0x1406962c0
mov qword [rsp + 0x50], r15
jmp case.0x140695e75.13
movzx eax, byte [rsi + 0x11]
test al, 0x20
jne case.0x140695e75.6
and al, 4
neg al
sbb eax, eax
and eax, 6
mov dword [rsp + 0x40], eax
jmp case.0x140695e75.13
movzx r8d, byte [rsi + 0x11]
mov rdx, qword [rdi + 0x90]
and r8b, 4
je 0x140696305
mov r14, rsi
jmp 0x140696311
movsxd rax, dword [rsi + 8]
lea rcx, [rax + rax*4]
lea r14, [rdx + rcx*4]
movsxd rax, dword [r14 + 0xc]
lea rcx, [rax + rax*4]
mov eax, dword [r14 + 4]
mov ebx, dword [rdx + rcx*4]
lea r12, [rdx + rcx*4]
sub ebx, eax
mov r13d, eax
add r13, qword [rdi]
mov dword [rsp + 0x48], ebx
test r8b, r8b
je 0x14069633b
or byte [r12 + 0x11], 0x20
movzx eax, byte [r14 + 0x10]
cmp al, 0x40
je 0x14069634c
cmp al, 0x2e
jne 0x1406963d0
add ebx, 7
cmp ebx, dword [rdi + 0x68]
jbe 0x14069638c
mov rcx, qword [rdi + 0x60]
mov r15d, ebx
shr r15d, 1
sub r15d, 0xffffff80
add r15d, ebx
and r15d, 0xffffff80
mov edx, r15d
call fcn.1408e18d4
test rax, rax
je 0x1406965eb
mov dword [rdi + 0x68], r15d
mov r15, qword [rsp + 0x50]
mov qword [rdi + 0x60], rax
movzx eax, byte [r14 + 0x10]
mov rcx, qword [rdi + 0x60]
lea rdx, [0x140e6bfb0]
mov r8d, dword [rsp + 0x48]
cmp al, 0x40
lea rax, [0x140e6bfa8]
cmove rdx, rax
mov eax, dword [rdx]
mov dword [rcx], eax
movzx eax, word [rdx + 4]
mov word [rcx + 4], ax
movzx eax, byte [rdx + 6]
mov rdx, r13
mov byte [rcx + 6], al
mov rcx, qword [rdi + 0x60]
add rcx, 7
call fcn.1408d9100
mov r13, qword [rdi + 0x60]
test byte [r12 + 0x11], 0x20
je 0x14069640f
movzx edx, byte [rsi + 0x11]
xor eax, eax
mov dword [rsp + 0x38], eax
and edx, 4
mov qword [rsp + 0x30], rax
mov r9, r13
mov dword [rsp + 0x28], 1
mov rcx, rdi
lea r8d, [rax + 2]
mov dword [rsp + 0x20], ebx
call fcn.1406927b0
mov ebp, eax
test eax, eax
js case.0x140695e75.12
mov r13d, dword [rsp + 0x44]
mov ebx, dword [rsi + 4]
mov r12, rsi
add rsi, 0x14
test byte [rsi + 0x11], 0x10
je 0x14069641a
cmp dword [rsi], ebx
jb 0x14069641a
mov ecx, dword [r15 + 4]
lea r8, [0x140000000]
mov eax, dword [rsp + 0x40]
cmp ebx, ecx
jb 0x140695e10
mov edx, dword [rsp + 0x4c]
cmp ebx, edx
jae case.0x140695e75.12
mov r11d, eax
lea eax, [rax - 5]
test eax, 0xfffffffd
je 0x14069654a
cmp r11d, 6
jne 0x140696500
mov r9, qword [rdi]
mov r8d, ebx
nop dword [rax]
mov eax, r8d
movzx ecx, byte [rax + r9]
cmp cl, 0x20
je 0x140696482
cmp cl, 9
jne 0x14069648a
inc r8d
cmp r8d, edx
jb 0x140696470
cmp r8d, ebx
jbe 0x1406964af
sub r8d, ebx
je 0x1406964af
mov edx, ebx
mov ecx, 6
add rdx, r9
mov r9, qword [rdi + 0x50]
call qword [rdi + 0x38]
mov ebp, eax
test eax, eax
jne 0x140695eb9
lea rdx, [0x140cea4d8]
mov ecx, 6
jmp 0x1406965b6
mov r8d, dword [rsi + 4]
sub r8d, edx
je case.0x140695e75.13
add rdx, qword [rdi]
mov ecx, 4
mov r9, qword [rdi + 0x50]
call qword [rdi + 0x38]
mov ebp, eax
test eax, eax
jne 0x140695eb9
jmp case.0x140695e75.13
mov r8d, 1
lea rdx, [0x14105cf3b]
mov ecx, r8d
jmp 0x140695ea8
mov r10d, 3
test r11d, r11d
jne 0x14069653e
test r13d, r13d
je 0x140696525
mov r10d, 2
lea rdx, [0x140cea4d8]
mov ecx, r10d
jmp 0x1406965b6
mov rdx, qword [rdi]
cmp byte [rcx + rdx], 0x20
jne 0x14069653e
lea eax, [rcx + 1]
cmp byte [rax + rdx], 0x20
mov eax, 2
cmove r10d, eax
lea rdx, [0x140cea4d8]
mov ecx, r10d
jmp 0x1406965b6
mov edx, dword [rdi + 8]
mov r10d, ebx
cmp ebx, edx
jae 0x1406965a1
mov r9, qword [rdi]
nop word [rax + rax]
mov eax, ebx
movzx ecx, byte [rax + r9]
cmp cl, 0x20
je 0x140696571
cmp cl, 9
jne 0x140696577
inc ebx
cmp ebx, edx
jb 0x140696560
cmp ebx, r10d
jbe 0x1406965a1
mov r8d, ebx
sub r8d, r10d
je 0x1406965a1
lea rdx, [r9 + r10]
mov ecx, r11d
mov r9, qword [rdi + 0x50]
call qword [rdi + 0x38]
mov ebp, eax
test eax, eax
jne 0x140695eb9
mov r11d, dword [rsp + 0x40]
cmp dword [r12 + 4], ebx
jae 0x1406965cd
cmp ebx, dword [rsi]
jae 0x1406965cd
lea rdx, [0x140d68488]
mov ecx, r11d
mov r9, qword [rdi + 0x50]
mov r8d, 1
call qword [rdi + 0x38]
mov ebp, eax
test eax, eax
jne 0x140695eb9
mov ebx, dword [r15 + 8]
add r15, 8
mov eax, dword [rsp + 0x40]
xor r13d, r13d
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x44], r13d
jmp 0x140695e00
mov rax, qword [rdi + 0x40]
test rax, rax
je 0x140696601
mov rdx, qword [rdi + 0x50]
lea rcx, [0x140e6bed8]
call rax
mov ebp, 0xffffffff
jmp case.0x140695e75.12