Function at 0x140030a58
Capabilities:
Enumerate pe sections

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x12f90
call fcn.14004d510
sub rsp, rax
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov qword [rsp + 0x12fe8], rbx
mov rax, qword [0x14005b870]
xor rax, rsp
mov qword [rsp + 0x12f80], rax
mov rbx, r8
mov rsi, rdx
mov rbp, rcx
mov qword [rsp + 0x50], rcx
xor r12d, r12d
mov r14d, r12d
mov dword [rsp + 0x44], r12d
mov rdx, rcx
lea rcx, [rsp + 0x8be0]
call fcn.1400093a8
nop
mov rdx, rbp
lea rcx, [rsp + 0xa0]
call fcn.1400093a8
nop
mov r8, rbx
mov rdx, rsi
lea rcx, [rsp + 0x8be0]
call fcn.14001aaac
lea r13d, [r12 + 1]
mov byte [rsp + 0x8bf9], r13b
mov word [rsp + 0x11f40], r12w
mov word [rsp + 0x12760], r12w
lea rcx, [rsp + 0x11b30]
lea r15, [0x140000000]
mov eax, dword [r15 + 0x51f3c]
mov dword [rcx], eax
movzx eax, word [r15 + 0x51f40]
mov word [rcx + 4], ax
mov al, byte [r15 + 0x51f42]
mov byte [rcx + 6], al
mov rcx, rsi
call fcn.140027f1c
mov r11, rax
lea rdi, [rsp + 0x11b30]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
sub rdi, r13
xor edx, edx
mov cl, byte [r11 + rdx]
mov byte [rdi + rdx], cl
add rdx, r13
test cl, cl
jne 0x140030b4f
xor edx, edx
lea rcx, [rsp + 0x11b30]
call fcn.140028f64
lea rdx, [rsp + 0x11720]
mov rax, qword [r15 + 0x51f30]
mov qword [rdx], rax
mov al, byte [r15 + 0x51f38]
mov byte [rdx + 8], al
mov rcx, rsi
call fcn.140027f1c
mov r11, rax
lea rdi, [rsp + 0x11720]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
sub rdi, r13
xor edx, edx
mov cl, byte [r11 + rdx]
mov byte [rdi + rdx], cl
add rdx, r13
test cl, cl
jne 0x140030ba8
lea rdx, [0x1400507e4]
mov rcx, rsi
call fcn.14002839c
cmp al, r12b
jne 0x140030bde
lea rdx, [0x1400507e0]
mov rcx, rsi
call fcn.14002839c
cmp al, r12b
je 0x140030bf2
lea rdx, [0x1400507dc]
lea rcx, [rsp + 0x11720]
call fcn.140029b84
xor edx, edx
lea rcx, [rsp + 0x11720]
call fcn.140028f64
cmp word [rbx], r12w
je 0x140030d03
mov rcx, r12
movzx eax, word [rcx + r15 + 0x51f20]
mov word [rsp + rcx + 0x12760], ax
add rcx, 2
cmp ax, r12w
jne 0x140030c0e
mov rcx, rbx
call fcn.140027fb4
mov r11, rax
lea rdi, [rsp + 0x12760]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
xor edx, edx
movzx ecx, word [r11 + rdx]
mov word [rdi + rdx - 2], cx
add rdx, 2
test cx, cx
jne 0x140030c47
xor edx, edx
lea rcx, [rsp + 0x12760]
call fcn.140027b20
mov rdx, r12
movzx eax, word [rdx + r15 + 0x51f08]
mov word [rsp + rdx + 0x11f40], ax
add rdx, 2
cmp ax, r12w
jne 0x140030c6c
mov rcx, rbx
call fcn.140027fb4
mov r11, rax
lea rdi, [rsp + 0x11f40]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
xor ecx, ecx
movzx edx, word [r11 + rcx]
mov word [rdi + rcx - 2], dx
add rcx, 2
test dx, dx
jne 0x140030ca5
lea rdx, [0x140051ae8]
mov rcx, rbx
call fcn.1400283d8
cmp al, r12b
jne 0x140030ce0
lea rdx, [0x140051af0]
mov rcx, rbx
call fcn.1400283d8
cmp al, r12b
je 0x140030cf4
lea rdx, [0x140051ae0]
lea rcx, [rsp + 0x11f40]
call fcn.140029c08
xor edx, edx
lea rcx, [rsp + 0x11f40]
call fcn.140027b20
mov dword [rsp + 0x38], r12d
movabs rdi, 0x7fffffff7fffffff
mov qword [rsp + 0x30], rdi
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov eax, dword [rbp + 0x3924]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x12760]
lea r8, [rsp + 0x11b30]
lea rdx, [rsp + 0xa0]
mov rcx, rbp
call fcn.140019cac
cmp al, r12b
jne 0x140030d9f
mov dil, byte [rsp + 0x40]
cmp dil, r12b
jne 0x140030d8c
mov edx, 9
lea rcx, [0x140067098]
call fcn.140015a88
lea r8, [rsp + 0x12760]
lea rdx, [rsp + 0x11b30]
lea rcx, [0x140067098]
call fcn.140016134
mov dil, byte [rsp + 0x40]
lea rcx, [rsp + 0xa0]
call fcn.140001f8c
nop
jmp 0x1400317a4
mov ebx, 0xdda
mov ecx, ebx
call fcn.14003227c
mov rcx, rax
lea rdx, [rsp + 0x11b30]
call fcn.140011f8c
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x8be0]
call fcn.14002ff88
cmp eax, r12d
jne 0x140030e0b
lea rcx, [rsp + 0xa0]
call fcn.14001a3f8
cmp rax, r12
jle 0x140030df5
lea rcx, [rsp + 0xa0]
call fcn.14001a114
nop
lea rcx, [rsp + 0xa0]
call fcn.140001f8c
nop
mov dil, r13b
jmp 0x1400317a4
cmp eax, 2
jne 0x140030e65
lea rcx, [rsp + 0xa0]
call fcn.14001a114
cmp byte [rbp + 0x3974], r12b
jne 0x140030e77
mov ecx, 0xdee
call fcn.14003227c
mov rcx, rax
call fcn.140011fe0
mov ecx, 0xbba
call fcn.14003227c
mov rcx, rax
call fcn.140012200
cmp eax, r13d
je 0x140030e77
lea rcx, [rsp + 0xa0]
call fcn.140001f8c
nop
mov dil, r13b
jmp 0x1400317a4
cmp eax, r13d
jne 0x140030e77
lea rcx, [rsp + 0xa0]
call fcn.14001a1cc
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x8be0]
call fcn.14001aaf4
mov dword [rsp + 0x38], r12d
mov qword [rsp + 0x30], rdi
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov eax, dword [rbp + 0x3924]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x11f40]
lea r8, [rsp + 0x11720]
lea rdx, [rsp + 0xa0]
mov rcx, rbp
call fcn.140019cac
cmp al, r12b
jne 0x140030f20
mov al, byte [rsp + 0x40]
cmp al, r12b
jne 0x140030f06
mov edx, 9
lea rcx, [0x140067098]
call fcn.140015a88
lea r8, [rsp + 0x11f40]
lea rdx, [rsp + 0x11720]
lea rcx, [0x140067098]
call fcn.140016134
mov al, byte [rsp + 0x40]
cmp al, r12b
sete dil
lea rcx, [rsp + 0xa0]
call fcn.140001f8c
nop
jmp 0x1400317a4
lea rcx, [rsp + 0x8be0]
call fcn.14001a3f8
mov rdi, rax
mov ecx, 0xdd8
call fcn.14003227c
mov rcx, rax
mov rdx, rsi
call fcn.140011f8c
mov ecx, ebx
call fcn.14003227c
mov rcx, rax
lea rdx, [rsp + 0x11720]
call fcn.140011f8c
mov byte [rsp + 0x41], r12b
xor edx, edx
lea rcx, [rsp + 0x8be0]
call fcn.1400072a4
cmp al, r12b
je 0x140030fd5
mov byte [rsp + 0x41], r13b
movzx ecx, word [rsp + 0xe3e0]
mov word [rsp + 0x58a0], cx
movzx eax, word [rsp + 0xe3e2]
mov word [rsp + 0x58a2], ax
cmp byte [rsp + 0x10ae0], r12b
je 0x140030fdd
mov ecx, 0xddc
call fcn.14003227c
mov rdx, rax
lea rcx, [rsp + 0x8bff]
call fcn.140012860
nop
lea rcx, [rsp + 0xa0]
call fcn.140001f8c
nop
mov dil, r13b
jmp 0x1400317a4
mov cx, word [rsp + 0x58a0]
mov dword [rsp + 0x58a8], r12d
mov word [rsp + 0x58a4], r12w
mov eax, 0xff9f
and cx, ax
mov word [rsp + 0x58a0], cx
xor r8d, r8d
lea edx, [r8 + 0x72]
lea rcx, [rsp + 0xa0]
call fcn.140007978
xor r8d, r8d
lea edx, [r8 + 0x73]
lea rcx, [rsp + 0xa0]
call fcn.140007978
mov rdx, qword [rsp + 0x10ad0]
add rdx, 0xd
xor r8d, r8d
lea rcx, [rsp + 0x8be0]
call fcn.14001aaf4
movzx edx, word [rsp + 0x58a2]
sub edx, 0xd
movsxd r8, edx
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x8be0]
call fcn.14001aef8
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x8be0]
call fcn.14001aaf4
mov edx, 0x10000
lea rcx, [rsp + 0x58]
call fcn.140006d24
nop
mov rsi, r12
mov rbx, qword [rsp + 0x60]
mov r8, rbx
mov r12, qword [rsp + 0x58]
mov rdx, r12
lea rcx, [rsp + 0x8be0]
call fcn.14001ad30
lea r13, [rbx - 0x1000]
mov r15, r13
lea rax, [rdi - 0x20]
mov qword [rsp + 0x48], rax
mov r11d, 0x100
mov rbp, rbx
mov r8d, 1
mov eax, dword [0x1400670ec]
add eax, r8d
mov dword [0x1400670ec], eax
test eax, 0xfffff
jne 0x1400310f0
call fcn.14003730c
mov r8d, 1
mov r11d, 0x100
xor edx, edx
mov rax, rsi
div r13
lea rbx, [r12 + rdx]
movzx ecx, byte [rbx + 2]
mov dword [rsp + 0x58b4], ecx
movzx edx, byte [rbx + 6]
imul dx, r11w
movzx eax, byte [rbx + 5]
add dx, ax
mov word [rsp + 0x58ba], dx
movzx edi, byte [rbx + 0x1b]
imul di, r11w
movzx eax, byte [rbx + 0x1a]
add di, ax
mov word [rsp + 0x58d2], di
cmp ecx, 0x74
jne 0x1400315fb
mov eax, 0x1000
cmp dx, ax
jae 0x1400315f3
movzx eax, di
sub ax, r8w
mov ecx, 0x3fe
cmp ax, cx
ja 0x1400315eb
movzx ecx, byte [rbx + 1]
imul cx, r11w
movzx eax, byte [rbx]
add cx, ax
mov word [rsp + 0x58b0], cx
movzx r10d, byte [rbx + 4]
imul r10w, r11w
movzx eax, byte [rbx + 3]
add r10w, ax
mov word [rsp + 0x58b8], r10w
movzx r8d, byte [rbx + 0xa]
shl r8d, 8
movzx eax, byte [rbx + 9]
add r8d, eax
shl r8d, 8
movzx eax, byte [rbx + 8]
add r8d, eax
shl r8d, 8
movzx eax, byte [rbx + 7]
add r8d, eax
mov dword [rsp + 0x58bc], r8d
movzx r9d, byte [rbx + 0xe]
shl r9d, 8
movzx eax, byte [rbx + 0xd]
add r9d, eax
shl r9d, 8
movzx eax, byte [rbx + 0xc]
add r9d, eax
shl r9d, 8
movzx eax, byte [rbx + 0xb]
add r9d, eax
mov dword [rsp + 0x58c0], r9d
mov al, byte [rbx + 0xf]
mov byte [rsp + 0x58c4], al
movzx ecx, byte [rbx + 0x13]
shl ecx, 8
movzx eax, byte [rbx + 0x12]
add ecx, eax
shl ecx, 8
movzx eax, byte [rbx + 0x11]
add ecx, eax
shl ecx, 8
movzx eax, byte [rbx + 0x10]
add ecx, eax
mov dword [rsp + 0x58c8], ecx
movzx ecx, byte [rbx + 0x17]
shl ecx, 8
movzx eax, byte [rbx + 0x16]
add ecx, eax
shl ecx, 8
movzx eax, byte [rbx + 0x15]
add ecx, eax
shl ecx, 8
movzx eax, byte [rbx + 0x14]
add ecx, eax
mov dword [rsp + 0x58cc], ecx
mov al, byte [rbx + 0x18]
mov byte [rsp + 0x58d0], al
mov al, byte [rbx + 0x19]
mov byte [rsp + 0x58d1], al
movzx ecx, byte [rbx + 0x1f]
shl ecx, 8
movzx eax, byte [rbx + 0x1e]
add ecx, eax
shl ecx, 8
movzx eax, byte [rbx + 0x1d]
add ecx, eax
shl ecx, 8
movzx eax, byte [rbx + 0x1c]
add ecx, eax
mov dword [rsp + 0x58d4], ecx
and r10w, r11w
je 0x1400312d8
movzx ecx, byte [rbx + 0x23]
shl ecx, 8
movzx eax, byte [rbx + 0x22]
add ecx, eax
shl ecx, 8
movzx eax, byte [rbx + 0x21]
add ecx, eax
shl ecx, 8
movzx eax, byte [rbx + 0x20]
add ecx, eax
mov dword [rsp + 0x58d8], ecx
movzx edx, byte [rbx + 0x27]
shl edx, 8
movzx eax, byte [rbx + 0x26]
add edx, eax
shl edx, 8
movzx eax, byte [rbx + 0x25]
add edx, eax
shl edx, 8
movzx eax, byte [rbx + 0x24]
add edx, eax
mov dword [rsp + 0x58dc], edx
xor r11d, r11d
jmp 0x1400312ef
xor r11d, r11d
mov edx, r11d
mov dword [rsp + 0x58dc], edx
mov ecx, r11d
mov dword [rsp + 0x58d8], ecx
shl rcx, 0x20
mov eax, r8d
add rcx, rax
mov qword [rsp + 0x6590], rcx
mov ecx, edx
shl rcx, 0x20
mov eax, r9d
add rcx, rax
mov qword [rsp + 0x6598], rcx
mov eax, 0x20
cmp r10w, r11w
lea ecx, [rax + 8]
cmovne eax, ecx
movzx r8d, di
movsxd rdx, eax
add rdx, rbx
lea rcx, [rsp + 0x58e0]
call fcn.1400409f0
movzx edx, word [rsp + 0x58b8]
mov eax, 0x200
test ax, dx
je 0x1400313bf
lea rcx, [rsp + 0x78]
call fcn.1400154fc
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x58e0]
repne scasb al, byte [rdi]
not rcx
mov eax, 1
sub rcx, rax
add rcx, rax
movzx r9d, word [rsp + 0x58d2]
sub r9, rcx
lea r8, [rsp + rcx + 0x58e0]
mov eax, 0x400
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x5ce0]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x58e0]
lea rcx, [rsp + 0x78]
call fcn.140015548
mov dx, word [rsp + 0x58b8]
xor r8d, r8d
jmp 0x1400313cb
xor r8d, r8d
mov word [rsp + 0x5ce0], r8w
movzx edi, dx
mov eax, 0x400
and di, ax
je 0x140031408
mov r11d, 0x100
test r11w, dx
mov ecx, 0x20
lea r10d, [rcx + 8]
cmovne rcx, r10
movzx eax, word [rsp + 0x58d2]
add rax, rcx
mov rax, qword [rax + rbx]
mov qword [rsp + 0x64f8], rax
jmp 0x140031414
mov r11d, 0x100
mov r10d, 0x28
movzx eax, word [rsp + 0x58ba]
sub eax, 2
cmp eax, r8d
jle 0x1400315df
mov r9d, 8
test byte [rsp + 0x58b8], r9b
je 0x140031459
test r11w, dx
lea ecx, [r9 + 0x18]
cmovne ecx, r10d
cmp di, r8w
je 0x14003144d
add ecx, r9d
movzx eax, word [rsp + 0x58d2]
lea eax, [rax + rcx - 2]
movsxd r8, eax
lea rdx, [rbx + 2]
or ecx, 0xffffffff
call fcn.14001292c
not ax
mov word [rsp + 0x7fba], ax
mov al, byte [rsp + 0x58d0]
sub al, 0xf
cmp al, 0x19
ja 0x1400314d9
mov al, byte [rsp + 0x58d1]
sub al, 0x30
cmp al, 8
ja 0x140031639
mov eax, 0x400
cmp word [rsp + 0x58d2], ax
ja 0x140031615
cmp byte [rsp + 0x58c4], 0x20
ja 0x140031627
movzx eax, word [rsp + 0x58d2]
xor edi, edi
mov byte [rsp + rax + 0x58e0], dil
movzx eax, word [rsp + 0x58b0]
cmp word [rsp + 0x7fba], ax
sete al
jmp 0x1400314de
xor edi, edi
mov al, dil
cmp al, dil
je 0x140031603
movzx edx, word [rsp + 0x58ba]
add rdx, rsi
xor r8d, r8d
lea rcx, [rsp + 0x8be0]
call fcn.14001aaf4
movzx edx, word [rsp + 0x58d2]
mov byte [rsp + rdx + 0x58e0], dil
call fcn.14003730c
cmp word [rsp + 0x5ce0], di
jne 0x140031530
mov dl, 1
lea rcx, [rsp + 0x58e0]
call fcn.140028f64
movzx ecx, word [rsp + 0x58b8]
mov eax, ecx
btr eax, 0xc
mov ebx, dword [rsp + 0x44]
or ebx, eax
mov dword [rsp + 0x44], ebx
mov eax, 0x100
test ax, cx
mov eax, 0x20
lea edx, [rax + 8]
cmovne eax, edx
mov edx, 0x400
test dx, cx
je 0x140031568
add eax, 8
add ax, word [rsp + 0x58d2]
mov word [rsp + 0x58ba], ax
lea rcx, [rsp + 0x58e0]
call fcn.140036e2c
mov rdi, rax
mov ecx, 0xdde
call fcn.14003227c
mov rcx, rax
mov rdx, rdi
call fcn.140011f8c
inc r14d
xor r8d, r8d
lea edx, [r8 + 0x74]
lea rcx, [rsp + 0xa0]
call fcn.140007978
mov r8, qword [rsp + 0x6590]
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x8be0]
call fcn.14001aef8
xor edi, edi
lea r8d, [rdi + 1]
mov r11d, 0x100
jmp 0x140031649
mov ebx, dword [rsp + 0x44]
xor edi, edi
lea r8d, [rdi + 1]
jmp 0x140031649
mov ebx, dword [rsp + 0x44]
xor edi, edi
jmp 0x140031649
mov ebx, dword [rsp + 0x44]
xor edi, edi
jmp 0x140031649
mov ebx, dword [rsp + 0x44]
xor edi, edi
jmp 0x140031649
mov ebx, dword [rsp + 0x44]
mov r8d, 1
mov r11d, 0x100
jmp 0x140031649
mov ebx, dword [rsp + 0x44]
xor edi, edi
lea r8d, [rdi + 1]
mov r11d, 0x100
jmp 0x140031649
mov ebx, dword [rsp + 0x44]
xor edi, edi
lea r8d, [rdi + 1]
mov r11d, 0x100
jmp 0x140031649
mov ebx, dword [rsp + 0x44]
xor edi, edi
lea r8d, [rdi + 1]
mov r11d, 0x100
add rsi, r8
cmp rsi, qword [rsp + 0x48]
jge 0x14003169e
xor edx, edx
mov rax, rsi
div r13
cmp rdx, rdi
jne 0x1400310c9
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x8be0]
call fcn.14001aaf4
mov r8, rbp
mov rdx, r12
lea rcx, [rsp + 0x8be0]
call fcn.14001ad30
add r15, r13
mov r8d, 1
mov r11d, 0x100
jmp 0x1400310c9
test bl, 3
mov rbp, qword [rsp + 0x50]
je 0x1400316b1
or word [rsp + 0x58a0], r8w
cmp r14d, edi
jle 0x14003170e
cmp byte [rsp + 0x41], dil
jne 0x140031707
cmp byte [rbp + 0x3974], dil
jne 0x140031700
mov ecx, 0xde0
call fcn.14003227c
mov rcx, rax
call fcn.140011fe0
mov ecx, 0xbba
call fcn.14003227c
mov rcx, rax
call fcn.140012200
mov ebx, 1
cmp eax, ebx
jne 0x140031713
lea eax, [rbx + 7]
or word [rsp + 0x58a0], ax
jmp 0x140031713
mov ebx, 1
jmp 0x140031713
mov ebx, 1
jmp 0x140031713
mov ebx, 1
cmp r14d, edi
jne 0x14003173d
mov ecx, 0xde2
call fcn.14003227c
mov rcx, rax
call fcn.140011f8c
mov edx, 0xa
lea rcx, [0x140067098]
call fcn.140015a88
jmp 0x140031785
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0xa0]
call fcn.14001aaf4
xor r8d, r8d
lea edx, [r8 + 0x72]
lea rcx, [rsp + 0xa0]
call fcn.140007978
xor r8d, r8d
lea edx, [r8 + 0x73]
lea rcx, [rsp + 0xa0]
call fcn.140007978
lea rcx, [rsp + 0xa0]
call fcn.14001a114
nop
cmp r12, rdi
je 0x140031793
mov rcx, r12
call fcn.1400406b8
nop
lea rcx, [rsp + 0xa0]
call fcn.140001f8c
nop
mov dil, bl
lea rcx, [rsp + 0x8be0]
call fcn.140001f8c
mov al, dil
mov rcx, qword [rsp + 0x12f80]
xor rcx, rsp
call fcn.140040860
mov rbx, qword [rsp + 0x12fe8]
add rsp, 0x12f90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret