Function at 0x7999f0
Capabilities:
Enumerate pe sections

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffd4
mov ebx, ecx
mov edi, edx
mov ebp, eax
mov eax, dword [edi + 0x1c]
mov dword [esp], eax
mov esi, dword [edi + 0x24]
mov eax, edi
mov edx, dword [0x79598c]
call fcn.00406c20
test al, al
je 0x799a24
mov eax, edi
call fcn.0079d910
mov byte [esp + 9], al
jmp 0x799a2f
mov eax, edi
call fcn.00765168
mov byte [esp + 9], al
cmp edi, dword [esi + 0xac]
sete byte [esp + 5]
cmp edi, dword [esi + 0xcc]
sete byte [esp + 4]
cmp byte [esp + 4], 0
je 0x799a69
cmp byte [esp + 5], 0
jne 0x799a6d
cmp byte [esi + 0xa8], 0
je 0x799a69
cmp byte [esi + 0x54], 0
je 0x799a69
cmp byte [esp + 9], 0
jne 0x799a6d
xor eax, eax
jmp 0x799a6f
mov al, 1
mov byte [esp + 6], al
mov eax, dword [esp]
test byte [eax + 0x70], 0x20
setne al
mov byte [esp + 7], al
movzx eax, byte [esp + 7]
and al, byte [esp + 6]
je 0x799a92
cmp byte [esi + 0x54], 0
je 0x799a96
xor eax, eax
jmp 0x799a98
mov al, 1
mov byte [esp + 8], al
cmp byte [esp + 8], 0
je 0x799aa8
mov byte [esp + 6], 0
xor eax, eax
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x14], eax
xor eax, eax
mov dword [esp + 0x18], eax
mov byte [esp + 0xa], 0
mov eax, edi
mov edx, dword [0x79598c]
call fcn.00406c20
test al, al
je 0x799b0a
mov eax, edi
mov edx, dword [eax]
call dword [edx + 0x60]
test al, al
je 0x799aff
lea edx, [esp + 0xc]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x64]
cmp dword [esp + 0xc], 0
jle 0x799aff
cmp dword [esp + 0x10], 0
jle 0x799aff
mov byte [esp + 0xa], 1
lea edx, [esp + 0x14]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, ebx
xor ecx, ecx
mov edx, 0x58
call fcn.00405c80
mov eax, dword [esp]
cmp byte [eax + 0x4e], 0
jne 0x799b2b
cmp byte [esi + 0x6c], 0
jne 0x799b2b
xor eax, eax
jmp 0x799b2d
mov al, 1
mov byte [ebx], al
movzx eax, byte [esp + 6]
mov byte [ebx + 2], al
mov eax, dword [esp]
movzx eax, byte [eax + 0x4c]
mov byte [ebx + 3], al
movzx eax, byte [esp + 4]
mov byte [ebx + 1], al
movzx eax, byte [esp + 0xa]
mov byte [ebx + 5], al
cmp byte [esp + 0xa], 0
jne 0x799b6c
cmp byte [esp + 9], 0
jne 0x799b68
mov eax, dword [esp]
cmp byte [eax + 0x4c], 0
jne 0x799b6c
xor eax, eax
jmp 0x799b6e
mov al, 1
mov byte [ebx + 6], al
mov eax, dword [esp + 0xc]
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x10]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x14], eax
test byte [esi + 0x1c], 0x10
setne al
mov byte [ebx + 0x18], al
test byte [esi + 0xd4], 1
setne al
mov byte [ebx + 0x19], al
cmp byte [esi + 0xc4], 1
jne 0x799bb4
cmp byte [esp + 7], 0
je 0x799bb8
xor eax, eax
jmp 0x799bba
mov al, 1
mov byte [ebx + 0x1e], al
mov byte [ebx + 0x1a], 0
mov eax, edi
mov edx, dword [0x79598c]
call fcn.00406c20
test al, al
je 0x799bdc
mov eax, edi
call fcn.0079d8b8
mov byte [ebx + 0x1a], al
movzx eax, byte [esp + 5]
mov byte [ebx + 0x1b], al
movzx eax, byte [esp + 7]
mov byte [ebx + 0x1c], al
push 0
lea eax, [esp + 0x20]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0040e324
push esi
lea esi, [esp + 0x20]
lea edi, [ebx + 0x44]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [esp]
test byte [eax + 0x7a], 2
jne 0x799c2a
mov eax, dword [esp]
test byte [eax + 0x70], 1
je 0x799c26
mov eax, dword [esp]
test byte [eax + 0x70], 0x20
jne 0x799c2a
xor eax, eax
jmp 0x799c2c
mov al, 1
mov byte [ebx + 4], al
movzx eax, byte [esp + 9]
mov byte [ebx + 0x55], al
test al, al
je 0x799c51
cmp byte [ebx + 4], 0
je 0x799c45
mov byte [ebx + 0x40], 1
cmp byte [ebx + 0x1c], 0
je 0x799c98
mov byte [ebx + 0x40], 2
jmp 0x799c98
mov eax, dword [esi + 0xe0]
mov edx, dword [0x798ab0]
call fcn.00406c20
test al, al
je 0x799c84
lea eax, [ebx + 0x20]
push eax
call fcn.007876a4
mov edx, dword [esi + 0xe0]
mov ecx, dword [edx + 0x2ac]
mov edx, ebp
mov esi, dword [eax]
call dword [esi + 0x24]
jmp 0x799c98
lea eax, [ebx + 0x20]
push eax
call fcn.007876a4
mov ecx, dword [esp + 0x10]
mov edx, ebp
mov esi, dword [eax]
call dword [esi + 0x24]
mov eax, dword [esp]
test byte [eax + 0x70], 0x10
je 0x799cb9
push 0
push 0
call fcn.007876a4
movzx edx, byte [ebx]
xor ecx, ecx
call fcn.0078d6c0
mov byte [ebx + 0x56], al
jmp 0x799cd7
movzx eax, byte [ebx + 1]
push eax
movzx eax, byte [ebx + 3]
push eax
call fcn.007876a4
movzx ecx, byte [ebx + 2]
movzx edx, byte [ebx]
call fcn.0078d6c0
mov byte [ebx + 0x56], al
mov byte [ebx + 0x54], 0
cmp byte [esp + 7], 0
je 0x799d18
movzx eax, byte [ebx + 0x56]
mov byte [ebx + 0x54], al
cmp byte [esp + 8], 0
je 0x799cf6
mov byte [ebx + 0x54], 3
jmp 0x799d18
movzx eax, byte [ebx + 0x56]
sub al, 3
je 0x799d08
dec al
je 0x799d0e
dec al
je 0x799d14
jmp 0x799d18
mov byte [ebx + 0x54], 2
jmp 0x799d18
mov byte [ebx + 0x54], 0
jmp 0x799d18
mov byte [ebx + 0x54], 2
call fcn.00787684
call fcn.0078f1f0
mov byte [ebx + 0x57], al
mov byte [ebx + 0x1d], 0
cmp byte [ebx + 2], 0
jne 0x799d35
cmp byte [ebx + 3], 0
je 0x799d56
cmp byte [ebx + 0x55], 0
je 0x799d56
cmp byte [ebx + 0x19], 0
jne 0x799d47
cmp byte [ebx + 0x57], 1
je 0x799d51
cmp byte [ebx + 0x57], 0
je 0x799d51
xor eax, eax
jmp 0x799d53
mov al, 1
mov byte [ebx + 0x1d], al
add esp, 0x2c
pop ebp
pop edi
pop esi
pop ebx
ret