Function at 0x180225ba0
Capabilities:
Enumerate pe sections

Disassembly:
mov dword [rsp + 0x18], r8d
push rsi
push rdi
push r15
sub rsp, 0x60
mov r15d, r8d
mov rsi, rdx
mov rdi, rcx
test r8d, r8d
jne 0x180225c1a
mov rcx, qword [rcx + 0xb248]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov ecx, 0x24
call sub.msvcrt.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov qword [rdi + 0xb248], rax
test rax, rax
jne 0x180225bfd
lea rdx, [0x18025d1e8]
lea rcx, [rsp + 0x90]
mov dword [rsp + 0x90], 0x8007000e
call sub.msvcrt.dll__CxxThrowException
int3
xor ecx, ecx
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], rcx
mov dword [rax + 0x20], ecx
add rsp, 0x60
pop r15
pop rdi
pop rsi
ret
mov rcx, r15
mov qword [rsp + 0x80], rbx
mov rbx, r15
call sub.msvcrt.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov qword [rdi + 0xb248], rax
test rax, rax
jne 0x180225c59
lea rdx, [0x18025d1e8]
lea rcx, [rsp + 0x90]
mov dword [rsp + 0x90], 0x8007000e
call sub.msvcrt.dll__CxxThrowException
int3
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x50], r12
mov r8, rbx
mov rdx, rsi
mov rcx, rax
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x40], r14
call sub.msvcrt.dll_memcpy
mov r12, qword [rdi + 0xb248]
mov eax, dword [r12 + 0x10]
mov esi, 0xffff
mov qword [rsp + 0x28], r12
add rax, r12
mov qword [rdi + 0xb250], rax
mov eax, dword [r12 + 0x14]
add rax, r12
mov qword [rdi + 0xb258], rax
mov eax, dword [r12 + 0x18]
add rax, r12
mov qword [rdi + 0xb260], rax
cmp dword [r12], esi
jbe 0x180225cd5
lea rdx, [0x180059bf8]
mov rcx, rdi
call fcn.180226700
inc dword [rdi + 0x1c]
mov dword [r12], esi
cmp dword [r12 + 4], esi
jbe 0x180225cf3
lea rdx, [0x180059c28]
mov rcx, rdi
call fcn.180226700
inc dword [rdi + 0x1c]
mov dword [r12 + 4], esi
cmp dword [r12 + 0xc], 0xfd
jbe 0x180225d19
lea rdx, [0x180059c58]
mov rcx, rdi
call fcn.180226700
inc dword [rdi + 0x1c]
mov dword [r12 + 0xc], 0xfd
cmp dword [r12 + 4], 0
jne 0x180225d33
lea rdx, [0x180059c90]
mov rcx, rdi
call fcn.180226700
inc dword [rdi + 0x1c]
mov rax, qword [rdi + 0xb258]
mov r13, qword [rdi + 0xb250]
mov rsi, qword [rdi + 0xb260]
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov eax, dword [r12 + 0x10]
mov ebp, r8d
mov dword [rsp + 0x98], r8d
mov qword [rsp + 0x30], r13
cmp eax, r15d
ja 0x180225d7a
mov ecx, dword [r12]
shl rcx, 4
add rcx, rax
cmp rcx, rbx
jbe 0x180225d98
lea rdx, [0x180059cc0]
mov rcx, rdi
call fcn.180226700
inc dword [rdi + 0x1c]
xor r8d, r8d
mov dword [r12 + 0x10], r8d
mov dword [r12], r8d
mov edx, dword [r12 + 0x14]
cmp edx, r15d
ja 0x180225db4
mov eax, dword [r12 + 4]
lea rcx, [rax + rax*2]
lea rcx, [rdx + rcx*4]
cmp rcx, rbx
jbe 0x180225dd3
lea rdx, [0x180059cf8]
mov rcx, rdi
call fcn.180226700
inc dword [rdi + 0x1c]
xor r8d, r8d
mov dword [r12 + 0x14], r8d
mov dword [r12 + 4], r8d
mov eax, dword [r12 + 0x18]
cmp eax, r15d
ja 0x180225dee
mov ecx, dword [r12 + 8]
shl rcx, 4
add rcx, rax
cmp rcx, rbx
jbe 0x180225e0d
lea rdx, [0x180059d30]
mov rcx, rdi
call fcn.180226700
inc dword [rdi + 0x1c]
xor r8d, r8d
mov dword [r12 + 0x18], r8d
mov dword [r12 + 8], r8d
mov r14d, r8d
cmp dword [r12 + 8], ebp
jbe 0x180225f4e
lea r13, [rsi + 4]
nop
cmp dword [r13], 0
jne 0x180225e3f
lea rdx, [0x180059d68]
mov r8d, r14d
mov rcx, rdi
call fcn.180226700
inc dword [rdi + 0x1c]
xor r8d, r8d
mov eax, dword [r13 + 4]
mov edx, dword [r13 + 8]
cmp eax, r15d
ja 0x180225e77
mov ecx, dword [r13]
lea eax, [rax + rcx*2]
cmp eax, r15d
ja 0x180225e77
cmp edx, r15d
ja 0x180225e77
lea eax, [rdx + rcx*4]
cmp eax, r15d
ja 0x180225e77
cmp ecx, 0xffff
ja 0x180225e77
cmp dword [r13 - 4], 0xfd
jbe 0x180225e94
lea rdx, [0x180059cf8]
mov rcx, rdi
call fcn.180226700
inc dword [rdi + 0x1c]
xor r8d, r8d
mov dword [r13 + 4], r8d
mov dword [r13], r8d
mov r15d, dword [r13 + 4]
add r15, r12
cmp dword [r13], 0
mov r12d, r8d
jbe 0x180225f1f
mov rbp, r15
nop dword [rax + rax]
mov rcx, qword [rsp + 0x28]
movzx eax, word [rbp]
cmp eax, dword [rcx + 4]
jb 0x180225ed0
lea rdx, [0x180059cf8]
mov rcx, rdi
call fcn.180226700
inc dword [rdi + 0x1c]
test r12d, r12d
je 0x180225f08
mov rbx, r15
mov esi, r12d
nop dword [rax + rax]
movzx eax, word [rbp]
cmp word [rbx], ax
jne 0x180225efe
lea rdx, [0x180059da0]
mov r8d, r14d
mov rcx, rdi
call fcn.180226700
inc dword [rdi + 0x1c]
add rbx, 2
sub rsi, 1
jne 0x180225ee0
inc r12d
add rbp, 2
cmp r12d, dword [r13]
jb 0x180225eb0
mov ebp, dword [rsp + 0x98]
xor r8d, r8d
add ebp, dword [r13 - 4]
mov r12, qword [rsp + 0x28]
mov r15d, dword [rsp + 0x90]
inc r14d
add r13, 0x10
mov dword [rsp + 0x98], ebp
cmp r14d, dword [r12 + 8]
jb 0x180225e20
mov r13, qword [rsp + 0x30]
cmp ebp, dword [r12 + 0xc]
je 0x180225f67
lea rdx, [0x180059df0]
mov rcx, rdi
call fcn.180226700
inc dword [rdi + 0x1c]
xor r14d, r14d
mov ecx, 0x1000
mov ebp, r14d
cmp dword [r12 + 4], r14d
jbe 0x18022603d
mov rbx, qword [rsp + 0x20]
mov r13d, ecx
mov r14d, 0x80
add rbx, 6
nop
cmp word [rbx - 2], 0
mov esi, dword [rbx - 6]
jne 0x180225fae
cmp word [rbx], r13w
ja 0x180225fae
cmp word [rbx + 2], r14w
ja 0x180225fae
cmp word [rbx + 4], 0x10
jbe 0x180225fc3
lea rdx, [0x180059e30]
mov r8d, ebp
mov rcx, rdi
call fcn.180226700
inc dword [rdi + 0x1c]
cmp esi, r15d
jb 0x180225fdc
lea rdx, [0x180059e78]
mov rcx, rdi
call fcn.180226700
inc dword [rdi + 0x1c]
jmp 0x18022601f
mov eax, r15d
mov rcx, rsi
sub eax, esi
add rcx, r12
mov edx, eax
je 0x18022600d
cmp rdx, 0x7fffffff
ja 0x18022600d
test eax, eax
je 0x18022600d
cmp byte [rcx], 0
je 0x180226008
inc rcx
sub rdx, 1
jne 0x180225ff8
jmp 0x18022600d
test rdx, rdx
jne 0x18022601f
lea rdx, [0x180059eb0]
mov rcx, rdi
call fcn.180226700
inc dword [rdi + 0x1c]
inc ebp
add rbx, 0xc
cmp ebp, dword [r12 + 4]
jb 0x180225f90
mov r13, qword [rsp + 0x30]
xor r14d, r14d
mov ecx, 0x1000
cmp dword [r12], 0
jbe 0x18022621c
lea rbx, [r13 + 8]
mov ebp, 1
movzx r9d, word [rbx - 4]
mov esi, dword [rbx - 8]
cmp r9d, dword [r12 + 4]
jb 0x180226077
lea rdx, [0x180059ee8]
mov rcx, rdi
call fcn.180226700
inc dword [rdi + 0x1c]
jmp 0x1802261a8
movzx r11d, word [rbx - 2]
xor al, al
mov edx, 0xffff
movzx r10d, al
movzx eax, word [rbx]
cmp r11w, dx
cmova r10d, ebp
cmp ax, dx
jne 0x1802260b3
cmp word [rbx + 2], dx
jne 0x1802260ae
mov rax, qword [rsp + 0x20]
lea rcx, [r9 + r9*2]
cmp word [rax + rcx*4 + 6], 0
je 0x1802260ea
mov r10b, bpl
jmp 0x1802260ea
cmp ax, 0xe
jae 0x1802260e7
movzx r8d, word [rbx + 2]
cmp r8w, cx
jae 0x1802260e7
mov rax, qword [rsp + 0x20]
lea rcx, [r9 + r9*2]
movzx edx, word [rax + rcx*4 + 6]
movzx eax, r11w
imul edx, eax
movzx eax, r8w
add edx, eax
cmp edx, 0x1000
jle 0x1802260ea
mov r10b, bpl
movzx r8d, word [rbx + 4]
mov eax, 0xffff
cmp r8w, ax
jne 0x180226110
mov rdx, qword [rsp + 0x20]
lea rcx, [r9 + r9*2]
cmp word [rdx + rcx*4 + 8], 0
je 0x18022614b
mov r10b, bpl
jmp 0x18022614b
mov r13d, 0x80
cmp r8w, r13w
jae 0x18022613c
mov rax, qword [rsp + 0x20]
lea rcx, [r9 + r9*2]
movzx edx, word [rax + rcx*4 + 8]
movzx eax, r11w
imul edx, eax
movzx eax, r8w
add edx, eax
cmp edx, r13d
jle 0x180226146
mov rdx, qword [rsp + 0x20]
mov r10b, bpl
jmp 0x18022614b
mov rdx, qword [rsp + 0x20]
movzx r8d, word [rbx + 6]
mov eax, 0xffff
cmp r8w, ax
jne 0x18022616c
lea rcx, [r9 + r9*2]
mov rax, r9
cmp word [rdx + rcx*4 + 0xa], 0
jne 0x180226193
jmp 0x18022618e
cmp r8w, 0x10
jae 0x180226193
movzx eax, r11w
lea rcx, [r9 + r9*2]
movzx edx, word [rdx + rcx*4 + 0xa]
imul edx, eax
movzx eax, r8w
add edx, eax
cmp edx, 0x10
jg 0x180226193
test r10b, r10b
je 0x1802261a8
lea rdx, [0x180059f30]
mov r8d, r14d
mov rcx, rdi
call fcn.180226700
inc dword [rdi + 0x1c]
cmp esi, r15d
jb 0x1802261c1
lea rdx, [0x180059f80]
mov rcx, rdi
call fcn.180226700
inc dword [rdi + 0x1c]
jmp 0x180226206
mov eax, r15d
mov rcx, rsi
sub eax, esi
add rcx, r12
mov edx, eax
je 0x1802261f4
cmp rdx, 0x7fffffff
ja 0x1802261f4
test eax, eax
je 0x1802261f4
nop dword [rax]
cmp byte [rcx], 0
je 0x1802261ef
inc rcx
sub rdx, rbp
jne 0x1802261e0
jmp 0x1802261f4
test rdx, rdx
jne 0x180226206
lea rdx, [0x180059fc0]
mov rcx, rdi
call fcn.180226700
inc dword [rdi + 0x1c]
inc r14d
add rbx, 0x10
mov ecx, 0x1000
cmp r14d, dword [r12]
jb 0x180226051
mov r13, qword [rsp + 0x48]
mov r12, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov r14, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x80]
add rsp, 0x60
pop r15
pop rdi
pop rsi
ret