Function at 0x1400cfa44
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, 0x60
mov eax, dword [rcx + 0x14]
mov rsi, rdx
mov r15d, dword [rsp + 0xc0]
xor edi, edi
mov r11, qword [rcx]
xor ebx, ebx
mov ebp, dword [rcx + 0x10]
mov r13, r8
mov r12d, dword [rcx + 8]
mov r14, rcx
mov dword [rsp + 0xb8], eax
mov eax, dword [rcx + 0x18]
movsxd r9, r9d
add r9, rdx
mov dword [rsp + 0x30], eax
mov edx, r15d
mov eax, dword [rcx + 0x1c]
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x3c], edx
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x40], r11
mov dword [rsp + 0xa0], ebp
mov dword [rsp + 0x38], r12d
cmp dword [rcx + 0x24], ebx
jne 0x1400cfb4c
movzx eax, byte [rsi]
xor ecx, ecx
movzx ebx, byte [rsi + 1]
xor r8d, r8d
shl ebx, 8
add rsi, 2
or ebx, eax
shl ebx, 0x10
lea edi, [rcx + 0xf]
mov eax, ebx
add ebx, ebx
test eax, eax
jns 0x1400cfb39
movzx ecx, byte [rsi + 1]
lea r10d, [rdi - 0xe]
movzx eax, byte [rsi]
mov r9d, edi
shl ecx, 8
add rsi, 2
or ecx, eax
add ecx, ecx
or ebx, ecx
mov r8d, ebx
shr r8d, 0x10
shl ebx, 0x10
movzx edx, byte [rsi + 1]
mov ecx, 0x10
movzx eax, byte [rsi]
sub cl, r9b
shl edx, 8
add r9, 0x10
or edx, eax
add rsi, 2
shl edx, cl
or ebx, edx
sub r10, 1
jne 0x1400cfb03
mov r9, qword [rsp + 0x48]
mov ecx, ebx
shr ecx, 0x10
mov edx, r15d
shl ebx, 0x10
shl r8d, 0x10
or r8d, ecx
mov dword [r14 + 0x24], 1
mov dword [r14 + 0x38], r8d
test r15d, r15d
jle 0x1400d0755
cmp dword [r14 + 0x30], 0
mov r15d, 3
mov eax, edi
jne 0x1400cfefe
cmp word [r14 + 0x28], r15w
jne 0x1400cfb7f
test byte [r14 + 0x2c], 1
je 0x1400cfb79
inc rsi
xor edi, edi
xor ebx, ebx
jmp 0x1400cfb84
cmp eax, r15d
jge 0x1400cfbc1
mov eax, 2
movsxd r8, edi
sub eax, edi
shr eax, 4
inc eax
mov r9d, eax
shl eax, 4
add edi, eax
movzx edx, byte [rsi + 1]
mov ecx, 0x10
movzx eax, byte [rsi]
sub cl, r8b
shl edx, 8
add r8, 0x10
or edx, eax
add rsi, 2
shl edx, cl
or ebx, edx
sub r9, 1
jne 0x1400cfb9b
mov eax, ebx
sub edi, r15d
shr eax, 0x1d
shl ebx, 3
mov word [r14 + 0x28], ax
cmp edi, 0x10
jge 0x1400cfc13
mov eax, 0xf
movsxd r8, edi
sub eax, edi
shr eax, 4
inc eax
mov r9d, eax
shl eax, 4
add edi, eax
movzx edx, byte [rsi + 1]
mov ecx, 0x10
movzx eax, byte [rsi]
sub cl, r8b
shl edx, 8
add r8, 0x10
or edx, eax
add rsi, 2
shl edx, cl
or ebx, edx
sub r9, 1
jne 0x1400cfbed
mov r8d, ebx
sub edi, 0x10
shr r8d, 0x10
shl ebx, 0x10
cmp edi, 8
jge 0x1400cfc62
mov eax, 7
movsxd r9, edi
sub eax, edi
shr eax, 4
inc eax
mov r10d, eax
shl eax, 4
add edi, eax
movzx edx, byte [rsi + 1]
mov ecx, 0x10
movzx eax, byte [rsi]
sub cl, r9b
shl edx, 8
add r9, 0x10
or edx, eax
add rsi, 2
shl edx, cl
or ebx, edx
sub r10, 1
jne 0x1400cfc3c
movzx ecx, word [r14 + 0x28]
mov eax, ebx
shr eax, 0x18
sub edi, 8
shl r8d, 8
or r8d, eax
shl ebx, 8
mov dword [r14 + 0x2c], r8d
mov dword [r14 + 0x30], r8d
sub ecx, 1
je 0x1400cfe02
sub ecx, 1
je 0x1400cfd7a
cmp ecx, 1
jne 0x1400d0759
mov dword [r14 + 0x40], ecx
cmp edi, 0x10
jge 0x1400cfce0
lea eax, [rcx + 0xe]
movsxd r8, edi
sub eax, edi
shr eax, 4
inc eax
mov r9d, eax
shl eax, 4
add edi, eax
movzx edx, byte [rsi + 1]
mov ecx, 0x10
movzx eax, byte [rsi]
sub cl, r8b
shl edx, 8
add r8, 0x10
or edx, eax
add rsi, 2
shl edx, cl
or ebx, edx
sub r9, 1
jne 0x1400cfcba
lea rcx, [rsi - 2]
cmp edi, 0x10
cmovle rcx, rsi
movzx eax, byte [rcx + 2]
lea rsi, [rcx + 4]
movzx r15d, byte [rsi + 3]
movzx r11d, byte [rcx + 3]
shl r11d, 8
or r11d, eax
shl r15d, 8
movzx eax, byte [rcx + 1]
shl r11d, 8
or r11d, eax
movzx eax, byte [rcx]
shl r11d, 8
or r11d, eax
movzx eax, byte [rsi + 2]
or r15d, eax
mov dword [rsp + 0xb8], r11d
movzx eax, byte [rsi + 1]
movzx r11d, byte [rsi + 7]
shl r11d, 8
shl r15d, 8
or r15d, eax
movzx eax, byte [rsi]
shl r15d, 8
or r15d, eax
movzx eax, byte [rsi + 6]
or r11d, eax
mov dword [rsp + 0x30], r15d
movzx eax, byte [rsi + 5]
shl r11d, 8
or r11d, eax
movzx eax, byte [rsi + 4]
shl r11d, 8
or r11d, eax
mov dword [rsp + 0x34], r11d
add rsi, 8
jmp 0x1400cfef4
lea r8, [r14 + 0x54ba]
mov r11d, 8
cmp edi, r15d
jge 0x1400cfdc9
mov eax, 2
movsxd r9, edi
sub eax, edi
shr eax, 4
inc eax
mov r10d, eax
shl eax, 4
add edi, eax
movzx edx, byte [rsi + 1]
mov ecx, 0x10
movzx eax, byte [rsi]
sub cl, r9b
shl edx, 8
add r9, 0x10
or edx, eax
add rsi, 2
shl edx, cl
or ebx, edx
sub r10, 1
jne 0x1400cfda3
mov eax, ebx
sub edi, r15d
shr eax, 0x1d
mov byte [r8], al
inc r8
shl ebx, 3
sub r11, 1
jne 0x1400cfd87
lea edx, [r11 + 7]
lea ecx, [rdx + 1]
lea r9, [r14 + 0x539a]
lea r8, [r14 + 0x54ba]
call fcn.1400cf4ec
test eax, eax
jne 0x1400d0759
mov dword [rsp + 0x50], ebx
lea rax, [rsp + 0x50]
lea rbx, [r14 + 0x2ba8]
mov dword [rsp + 0x54], edi
mov rdx, rbx
mov qword [rsp + 0x58], rsi
mov r9d, 0x100
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rcx, r14
call fcn.1400cf6b4
test eax, eax
jne 0x1400d0759
movzx r9d, word [r14 + 0x20]
lea rax, [rsp + 0x50]
mov r8d, 0x100
mov qword [rsp + 0x20], rax
mov rdx, rbx
mov rcx, r14
call fcn.1400cf6b4
test eax, eax
jne 0x1400d0759
lea r9, [r14 + 0x168]
mov r8, rbx
lea edx, [rax + 0xc]
mov ecx, 0x290
call fcn.1400cf4ec
test eax, eax
jne 0x1400d0759
cmp byte [r14 + 0x2c90], al
je 0x1400cfe94
mov dword [r14 + 0x40], 1
lea rax, [rsp + 0x50]
mov r9d, 0xf9
lea rbp, [r14 + 0x5260]
mov qword [rsp + 0x20], rax
mov rdx, rbp
xor r8d, r8d
mov rcx, r14
call fcn.1400cf6b4
test eax, eax
jne 0x1400d0759
mov ebx, dword [rsp + 0x50]
lea r9, [r14 + 0x2e78]
mov edi, dword [rsp + 0x54]
lea edx, [rax + 0xc]
mov rsi, qword [rsp + 0x58]
mov r8, rbp
mov ecx, 0xfa
call fcn.1400cf4ec
test eax, eax
jne 0x1400d0759
mov ebp, dword [rsp + 0xa0]
mov r9, qword [rsp + 0x48]
mov r11, qword [rsp + 0x40]
cmp rsi, r9
jbe 0x1400cff19
lea rax, [r9 + 2]
cmp rsi, rax
ja 0x1400d0759
cmp edi, 0x10
jl 0x1400d0759
mov eax, dword [r14 + 0x30]
mov edx, dword [rsp + 0x3c]
test eax, eax
jle 0x1400d0730
mov ecx, eax
test edx, edx
jle 0x1400d0748
mov r10d, dword [rsp + 0x38]
cmp eax, edx
mov r12d, edx
cmovle r12d, eax
sub edx, r12d
sub ecx, r12d
lea eax, [r10 - 1]
mov dword [rsp + 0x3c], edx
and ebp, eax
mov dword [r14 + 0x30], ecx
mov dword [rsp + 0xa0], ebp
lea r15d, [r12 + rbp]
cmp r15d, r10d
ja 0x1400d073e
movzx ecx, word [r14 + 0x28]
sub ecx, 1
je 0x1400d0433
sub ecx, 1
je 0x1400cffba
cmp ecx, 1
jne 0x1400d0759
movsxd r8, r12d
lea rbp, [r8 + rsi]
cmp rbp, r9
ja 0x1400d0759
mov ecx, dword [rsp + 0xa0]
mov rdx, rsi
add rcx, r11
call fcn.14012ad20
mov rsi, rbp
mov dword [rsp + 0xa0], r15d
mov ebp, r15d
jmp 0x1400d0714
test r12d, r12d
jle 0x1400d071d
cmp edi, 0x10
jge 0x1400d0005
mov eax, 0xf
movsxd r8, edi
sub eax, edi
shr eax, 4
inc eax
mov r9d, eax
shl eax, 4
add edi, eax
movzx edx, byte [rsi + 1]
mov ecx, 0x10
movzx eax, byte [rsi]
sub cl, r8b
shl edx, 8
add r8, 0x10
or edx, eax
add rsi, 2
shl edx, cl
or ebx, edx
sub r9, 1
jne 0x1400cffdf
mov eax, ebx
mov r15d, 0x290
shr rax, 0x14
movzx r8d, word [r14 + rax*2 + 0x168]
cmp r8d, r15d
jb 0x1400d004e
mov r9d, 0x100000
shr r9d, 1
je 0x1400d0759
test ebx, r9d
lea ecx, [r8 + r8]
mov edx, 0
setne dl
or rdx, rcx
movzx r8d, word [r14 + rdx*2 + 0x168]
cmp r8d, r15d
jae 0x1400d0025
movzx ecx, byte [r8 + r14 + 0x2ba8]
shl ebx, cl
sub edi, ecx
cmp r8d, 0x100
jae 0x1400d007a
mov byte [rbp + r11], r8b
inc ebp
mov dword [rsp + 0xa0], ebp
dec r12d
jmp 0x1400d0425
add r8d, 0xffffff00
mov r9d, r8d
and r9d, 7
cmp r9d, 7
jne 0x1400d0131
cmp edi, 0x10
jge 0x1400d00d3
lea eax, [r9 + 8]
movsxd r10, edi
sub eax, edi
shr eax, 4
inc eax
mov r11d, eax
shl eax, 4
add edi, eax
movzx edx, byte [rsi + 1]
mov ecx, 0x10
movzx eax, byte [rsi]
sub cl, r10b
shl edx, 8
add r10, 0x10
or edx, eax
add rsi, 2
shl edx, cl
or ebx, edx
sub r11, 1
jne 0x1400d00ad
mov eax, ebx
mov r15d, 0xfa
shr rax, 0x14
movzx r10d, word [r14 + rax*2 + 0x2e78]
cmp r10d, r15d
jb 0x1400d011c
mov r11d, 0x100000
shr r11d, 1
je 0x1400d0759
test ebx, r11d
lea ecx, [r10 + r10]
mov edx, 0
setne dl
or rdx, rcx
movzx r10d, word [r14 + rdx*2 + 0x2e78]
cmp r10d, r15d
jae 0x1400d00f3
movzx ecx, byte [r10 + r14 + 0x5260]
shl ebx, cl
sub edi, ecx
add r9d, r10d
mov r10d, dword [rsp + 0x38]
add r9d, 2
sar r8d, 3
cmp r8d, 2
jbe 0x1400d0392
mov eax, r8d
lea rcx, [0x140000000]
movzx r8d, byte [r8 + rcx + 0x13e888]
mov ebp, r8d
mov r15d, dword [rcx + rax*4 + 0x13e8c0]
cmp r8d, 3
jbe 0x1400d0269
sub r8d, 3
cmp edi, r8d
jge 0x1400d01b1
mov eax, r8d
movsxd r10, edi
sub eax, edi
dec eax
shr eax, 4
inc eax
mov r11d, eax
shl eax, 4
add edi, eax
movzx edx, byte [rsi + 1]
mov ecx, 0x10
movzx eax, byte [rsi]
sub cl, r10b
shl edx, 8
add r10, 0x10
or edx, eax
add rsi, 2
shl edx, cl
or ebx, edx
sub r11, 1
jne 0x1400d018b
mov ecx, 0x23
mov eax, ebx
sub cl, bpl
sub edi, r8d
shr eax, cl
mov ecx, r8d
shl ebx, cl
lea r11d, [r15 + rax*8]
cmp edi, 0x10
jge 0x1400d020b
mov eax, 0xf
movsxd r8, edi
sub eax, edi
shr eax, 4
inc eax
mov r10d, eax
shl eax, 4
add edi, eax
movzx edx, byte [rsi + 1]
mov ecx, 0x10
movzx eax, byte [rsi]
sub cl, r8b
shl edx, 8
add r8, 0x10
or edx, eax
add rsi, 2
shl edx, cl
or ebx, edx
sub r10, 1
jne 0x1400d01e5
mov eax, ebx
shr rax, 0x19
movzx r8d, word [r14 + rax*2 + 0x539a]
cmp r8d, 8
jb 0x1400d0250
mov r10d, 0x2000000
shr r10d, 1
je 0x1400d0759
test ebx, r10d
lea ecx, [r8 + r8]
mov edx, 0
setne dl
or rdx, rcx
movzx r8d, word [r14 + rdx*2 + 0x539a]
cmp r8d, 8
jae 0x1400d0226
movzx ecx, byte [r8 + r14 + 0x54ba]
lea eax, [r8 - 2]
shl ebx, cl
sub edi, ecx
add eax, r11d
jmp 0x1400d0371
jne 0x1400d0309
cmp edi, 0x10
jge 0x1400d02b1
mov eax, 0xf
movsxd r8, edi
sub eax, edi
shr eax, 4
inc eax
mov r10d, eax
shl eax, 4
add edi, eax
movzx edx, byte [rsi + 1]
mov ecx, 0x10
movzx eax, byte [rsi]
sub cl, r8b
shl edx, 8
add r8, 0x10
or edx, eax
add rsi, 2
shl edx, cl
or ebx, edx
sub r10, 1
jne 0x1400d028b
mov eax, ebx
shr rax, 0x19
movzx r8d, word [r14 + rax*2 + 0x539a]
cmp r8d, 8
jb 0x1400d02f6
mov r10d, 0x2000000
shr r10d, 1
je 0x1400d0759
test ebx, r10d
lea ecx, [r8 + r8]
mov edx, 0
setne dl
or rdx, rcx
movzx r8d, word [r14 + rdx*2 + 0x539a]
cmp r8d, 8
jae 0x1400d02cc
movzx ecx, byte [r8 + r14 + 0x54ba]
lea eax, [r8 - 2]
shl ebx, cl
sub edi, ecx
jmp 0x1400d0367
test r8d, r8d
je 0x1400d036c
cmp edi, r8d
jge 0x1400d0350
mov eax, r8d
movsxd r10, edi
sub eax, edi
dec eax
shr eax, 4
inc eax
mov r11d, eax
shl eax, 4
add edi, eax
movzx edx, byte [rsi + 1]
mov ecx, 0x10
movzx eax, byte [rsi]
sub cl, r10b
shl edx, 8
add r10, 0x10
or edx, eax
add rsi, 2
shl edx, cl
or ebx, edx
sub r11, 1
jne 0x1400d032a
mov ecx, 0x20
mov eax, ebx
sub cl, r8b
sub edi, r8d
shr eax, cl
mov ecx, r8d
shl ebx, cl
add eax, 0xfffffffe
add eax, r15d
jmp 0x1400d0371
mov eax, 1
mov edx, dword [rsp + 0x30]
mov ebp, dword [rsp + 0xa0]
mov r10d, dword [rsp + 0x38]
mov dword [rsp + 0x34], edx
mov edx, dword [rsp + 0xb8]
mov dword [rsp + 0x30], edx
jmp 0x1400d03bf
test r8d, r8d
jne 0x1400d03a0
mov eax, dword [rsp + 0xb8]
jmp 0x1400d03c6
mov edx, dword [rsp + 0xb8]
cmp r8d, 1
jne 0x1400d03b7
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x30], edx
jmp 0x1400d03bf
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x34], edx
mov dword [rsp + 0xb8], eax
mov r11, qword [rsp + 0x40]
mov edx, ebp
add ebp, r9d
add rdx, r11
mov dword [rsp + 0xa0], ebp
mov r8, rdx
sub r8, rax
cmp ebp, r10d
ja 0x1400d0759
sub r12d, r9d
jmp 0x1400d0407
mov eax, r9d
dec r9d
test eax, eax
jle 0x1400d040c
mov eax, r10d
mov cl, byte [rax + r8]
mov byte [rdx], cl
inc rdx
inc r8
cmp r8, r11
jb 0x1400d03ee
test r9d, r9d
jle 0x1400d0425
sub r8, rdx
mov al, byte [r8 + rdx]
dec r9d
mov byte [rdx], al
inc rdx
test r9d, r9d
jg 0x1400d0414
test r12d, r12d
jg 0x1400cffc3
jmp 0x1400d0714
test r12d, r12d
jle 0x1400d071d
mov r15d, 0x290
cmp edi, 0x10
jge 0x1400d0484
mov eax, 0xf
movsxd r8, edi
sub eax, edi
shr eax, 4
inc eax
mov r9d, eax
shl eax, 4
add edi, eax
movzx edx, byte [rsi + 1]
mov ecx, 0x10
movzx eax, byte [rsi]
sub cl, r8b
shl edx, 8
add r8, 0x10
or edx, eax
add rsi, 2
shl edx, cl
or ebx, edx
sub r9, 1
jne 0x1400d045e
mov eax, ebx
shr rax, 0x14
movzx r8d, word [r14 + rax*2 + 0x168]
cmp r8d, r15d
jb 0x1400d04c7
mov r9d, 0x100000
shr r9d, 1
je 0x1400d0759
test ebx, r9d
lea ecx, [r8 + r8]
mov edx, 0
setne dl
or rdx, rcx
movzx r8d, word [r14 + rdx*2 + 0x168]
cmp r8d, r15d
jae 0x1400d049e
movzx ecx, byte [r8 + r14 + 0x2ba8]
shl ebx, cl
sub edi, ecx
cmp r8d, 0x100
jae 0x1400d04f3
mov byte [rbp + r11], r8b
inc ebp
mov dword [rsp + 0xa0], ebp
dec r12d
jmp 0x1400d070b
lea r9d, [r8 - 0x100]
mov r8d, r9d
and r8d, 7
cmp r8d, 7
jne 0x1400d05ac
cmp edi, 0x10
jge 0x1400d054c
lea eax, [r8 + 8]
movsxd r10, edi
sub eax, edi
shr eax, 4
inc eax
mov r11d, eax
shl eax, 4
add edi, eax
movzx edx, byte [rsi + 1]
mov ecx, 0x10
movzx eax, byte [rsi]
sub cl, r10b
shl edx, 8
add r10, 0x10
or edx, eax
add rsi, 2
shl edx, cl
or ebx, edx
sub r11, 1
jne 0x1400d0526
mov eax, ebx
shr rax, 0x14
movzx r10d, word [r14 + rax*2 + 0x2e78]
cmp r10d, 0xfa
jb 0x1400d0597
mov r11d, 0x100000
shr r11d, 1
je 0x1400d0759
test ebx, r11d
lea ecx, [r10 + r10]
mov edx, 0
setne dl
or rdx, rcx
movzx r10d, word [r14 + rdx*2 + 0x2e78]
cmp r10d, 0xfa
jae 0x1400d056a
movzx ecx, byte [r10 + r14 + 0x5260]
shl ebx, cl
sub edi, ecx
add r8d, r10d
mov r10d, dword [rsp + 0x38]
add r8d, 2
sar r9d, 3
cmp r9d, 2
jbe 0x1400d0670
cmp r9d, 3
je 0x1400d064a
lea rcx, [0x140000000]
movzx r10d, byte [r9 + rcx + 0x13e888]
cmp edi, r10d
jge 0x1400d0620
mov eax, r10d
movsxd r11, edi
sub eax, edi
dec eax
shr eax, 4
inc eax
mov ebp, eax
shl eax, 4
add edi, eax
movzx edx, byte [rsi + 1]
mov ecx, 0x10
movzx eax, byte [rsi]
sub cl, r11b
shl edx, 8
add r11, 0x10
or edx, eax
add rsi, 2
shl edx, cl
or ebx, edx
sub rbp, 1
jne 0x1400d05f3
mov ebp, dword [rsp + 0xa0]
mov ecx, 0x20
mov edx, ebx
sub cl, r10b
sub edi, r10d
shr edx, cl
mov ecx, r10d
shl ebx, cl
lea rcx, [0x140000000]
mov eax, dword [rcx + r9*4 + 0x13e8c0]
lea ecx, [rdx - 2]
add ecx, eax
jmp 0x1400d064f
mov ecx, 1
mov edx, dword [rsp + 0x30]
mov r10d, dword [rsp + 0x38]
mov dword [rsp + 0x34], edx
mov edx, dword [rsp + 0xb8]
mov dword [rsp + 0x30], edx
mov dword [rsp + 0xb8], ecx
jmp 0x1400d06ad
test r9d, r9d
jne 0x1400d067e
mov ecx, dword [rsp + 0xb8]
jmp 0x1400d06ad
mov edx, dword [rsp + 0xb8]
cmp r9d, 1
jne 0x1400d069c
mov ecx, dword [rsp + 0x30]
mov dword [rsp + 0x30], edx
mov dword [rsp + 0xb8], ecx
jmp 0x1400d06ad
mov eax, dword [rsp + 0x34]
mov ecx, eax
mov dword [rsp + 0x34], edx
mov dword [rsp + 0xb8], eax
mov r11, qword [rsp + 0x40]
mov r9d, ebp
add ebp, r8d
add r9, r11
mov eax, ecx
mov rdx, r9
mov dword [rsp + 0xa0], ebp
sub rdx, rax
cmp ebp, r10d
ja 0x1400d0759
sub r12d, r8d
jmp 0x1400d06f1
mov eax, r8d
dec r8d
test eax, eax
jle 0x1400d0706
mov eax, r10d
mov cl, byte [rax + rdx]
mov byte [r9], cl
inc r9
inc rdx
cmp rdx, r11
jb 0x1400d06d8
jmp 0x1400d0706
mov al, byte [rdx]
dec r8d
mov byte [r9], al
inc r9
inc rdx
test r8d, r8d
jg 0x1400d06f8
test r12d, r12d
jg 0x1400d0442
mov edx, dword [rsp + 0x3c]
mov r9, qword [rsp + 0x48]
mov eax, dword [r14 + 0x30]
mov ecx, eax
mov r11, qword [rsp + 0x40]
test eax, eax
jg 0x1400cff2b
test edx, edx
jle 0x1400d0748
mov r11, qword [rsp + 0x40]
jmp 0x1400cfb55
mov eax, 1
jmp 0x1400d087f
mov r12d, dword [rsp + 0x38]
mov r15d, dword [rsp + 0xc0]
test edx, edx
je 0x1400d0763
mov eax, 2
jmp 0x1400d087f
mov edx, ebp
movsxd rbx, r15d
test ebp, ebp
mov r8, rbx
mov rcx, r13
cmove edx, r12d
sub rdx, rbx
add rdx, qword [rsp + 0x40]
call fcn.14012ad20
mov ecx, dword [r14 + 0x34]
mov eax, dword [rsp + 0x34]
mov edx, dword [rsp + 0xb8]
mov dword [r14 + 0x1c], eax
mov dword [r14 + 0x14], edx
lea eax, [rcx + 1]
mov edx, dword [rsp + 0x30]
mov dword [r14 + 0x34], eax
mov dword [r14 + 0x10], ebp
mov dword [r14 + 0x18], edx
cmp ecx, 0x8000
jae 0x1400d087d
mov r10d, dword [r14 + 0x38]
test r10d, r10d
je 0x1400d087d
cmp r15d, 6
jle 0x1400d0879
cmp dword [r14 + 0x40], 0
je 0x1400d0879
mov r9d, dword [r14 + 0x3c]
lea r11, [r13 - 0xa]
add r11, rbx
lea eax, [r9 + r15]
mov dword [r14 + 0x3c], eax
cmp r13, r11
jae 0x1400d087d
mov r8d, r9d
neg r8d
mov al, byte [r13]
inc r13
cmp al, 0xe8
je 0x1400d080e
inc r9d
dec r8d
jmp 0x1400d0872
movzx eax, byte [r13 + 2]
movzx edx, byte [r13 + 3]
shl edx, 8
or edx, eax
movzx eax, byte [r13 + 1]
shl edx, 8
or edx, eax
movzx eax, byte [r13]
shl edx, 8
or edx, eax
cmp edx, r8d
jl 0x1400d0866
cmp edx, r10d
jge 0x1400d0866
mov eax, edx
lea ecx, [rdx + r10]
sub eax, r9d
test edx, edx
cmovns ecx, eax
mov eax, ecx
mov byte [r13], cl
sar eax, 8
mov byte [r13 + 1], al
mov eax, ecx
sar eax, 0x10
sar ecx, 0x18
mov byte [r13 + 3], cl
mov byte [r13 + 2], al
add r13, 4
add r9d, 5
sub r8d, 5
cmp r13, r11
jb 0x1400d07fb
jmp 0x1400d087d
add dword [r14 + 0x3c], r15d
xor eax, eax
mov rbx, qword [rsp + 0xb0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret