Function at 0x7b48c0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x1c
push ebx
mov ebx, dword [esp + 0x24]
push ebp
push esi
push edi
mov edi, dword [ebx + 0x18]
mov dword [esp + 0x18], edi
mov esi, dword [edi + 4]
mov ebp, dword [edi]
test esi, esi
jne 0x7b48f5
push ebx
call dword [edi + 0xc]
add esp, 4
test al, al
je 0x7b4c2b
mov eax, dword [edi + 4]
mov ebp, dword [edi]
mov dword [esp + 0x30], eax
mov esi, eax
xor ecx, ecx
dec esi
mov ch, byte [ebp]
inc ebp
test esi, esi
mov dword [esp + 0x10], ecx
jne 0x7b491e
push ebx
call dword [edi + 0xc]
add esp, 4
test al, al
je 0x7b4c2b
mov edx, dword [edi + 4]
mov ebp, dword [edi]
mov dword [esp + 0x30], edx
mov esi, edx
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov cl, byte [ebp]
dec esi
add eax, ecx
inc ebp
sub eax, 2
test eax, eax
mov dword [esp + 0x10], eax
jle 0x7b4c03
mov ecx, dword [esp + 0x10]
dec ecx
test esi, esi
mov dword [esp + 0x10], ecx
jne 0x7b4961
push ebx
call dword [edi + 0xc]
add esp, 4
test al, al
je 0x7b4c2b
mov edx, dword [edi + 4]
mov ebp, dword [edi]
mov dword [esp + 0x30], edx
mov esi, edx
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ebp]
dec esi
mov dword [esp + 0x30], esi
mov esi, eax
mov dword [ecx + 0x14], 0x53
mov edx, dword [ebx]
and esi, 0xf
push 1
mov dword [edx + 0x18], esi
mov ecx, dword [ebx]
sar eax, 4
mov dword [ecx + 0x1c], eax
mov edx, dword [ebx]
push ebx
inc ebp
mov dword [esp + 0x24], eax
call dword [edx + 4]
add esp, 8
cmp esi, 4
jl 0x7b49b1
mov eax, dword [ebx]
push ebx
mov dword [eax + 0x14], 0x20
mov ecx, dword [ebx]
mov dword [ecx + 0x18], esi
mov edx, dword [ebx]
call dword [edx]
add esp, 4
mov eax, dword [ebx + esi*4 + 0x90]
test eax, eax
jne 0x7b49cc
push ebx
call fcn.0057c30a
add esp, 4
mov dword [ebx + esi*4 + 0x90], eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ebx + esi*4 + 0x90]
test eax, eax
mov dword [esp + 0x28], edx
je 0x7b4a11
cmp dword [esp + 0x10], 0x80
jge 0x7b4a07
mov ecx, 0x20
mov eax, 0x10001
mov edi, edx
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
sar ecx, 1
mov dword [esp + 0x14], ecx
jmp 0x7b4a44
mov dword [esp + 0x14], 0x40
jmp 0x7b4a40
mov ecx, dword [esp + 0x10]
mov eax, 0x40
cmp ecx, eax
jge 0x7b4a3c
mov ecx, 0x20
mov eax, 0x10001
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x14], eax
mov ecx, eax
jmp 0x7b4a44
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x14]
lea esi, [ecx - 4]
cmp esi, 0x2d
ja case.0x7b4a54.10
xor eax, eax
mov al, byte [esi + 0x7b4c54]
jmp dword [eax*4 + 0x7b4c38]
mov eax, 0x88fcac
jmp 0x7b4a8a
mov eax, 0x88fc48
jmp 0x7b4a8a
mov eax, 0x88fbc8
jmp 0x7b4a8a
mov eax, 0x88fb24
jmp 0x7b4a8a
mov eax, 0x88fa54
jmp 0x7b4a8a
mov eax, 0x88f950
jmp 0x7b4a8a
mov eax, 0x88f810
test ecx, ecx
mov dword [esp + 0x20], 0
jle 0x7b4b5c
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
test eax, eax
mov eax, dword [esp + 0x30]
je 0x7b4b05
test eax, eax
jne 0x7b4ac6
push ebx
call dword [edi + 0xc]
add esp, 4
test al, al
je 0x7b4c2b
mov ecx, dword [edi + 4]
mov ebp, dword [edi]
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x30]
xor edx, edx
mov dh, byte [ebp]
dec eax
inc ebp
mov dword [esp + 0x30], eax
test eax, eax
mov esi, edx
jne 0x7b4af3
push ebx
call dword [edi + 0xc]
add esp, 4
test al, al
je 0x7b4c2b
mov eax, dword [edi + 4]
mov ebp, dword [edi]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
xor ecx, ecx
mov cl, byte [ebp]
dec eax
mov dword [esp + 0x30], eax
add esi, ecx
jmp 0x7b4b31
test eax, eax
jne 0x7b4b21
push ebx
call dword [edi + 0xc]
add esp, 4
test al, al
je 0x7b4c2b
mov edx, dword [edi + 4]
mov ebp, dword [edi]
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x30]
dec ecx
xor eax, eax
mov al, byte [ebp]
mov dword [esp + 0x30], ecx
mov esi, eax
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
inc ebp
mov eax, dword [ecx]
add ecx, 4
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x14]
mov word [edx + eax*2], si
mov eax, dword [esp + 0x20]
inc eax
cmp eax, ecx
mov dword [esp + 0x20], eax
jl 0x7b4a9e
mov eax, dword [ebx]
cmp dword [eax + 0x68], 2
jl 0x7b4bd9
lea esi, [edx + 4]
mov edi, 8
mov eax, dword [ebx]
xor ecx, ecx
mov cx, word [esi - 4]
add eax, 0x18
xor edx, edx
push 2
mov dword [eax], ecx
mov dx, word [esi - 2]
xor ecx, ecx
mov dword [eax + 4], edx
mov cx, word [esi]
xor edx, edx
mov dword [eax + 8], ecx
mov dx, word [esi + 2]
xor ecx, ecx
mov dword [eax + 0xc], edx
mov cx, word [esi + 4]
xor edx, edx
mov dword [eax + 0x10], ecx
mov dx, word [esi + 6]
xor ecx, ecx
mov dword [eax + 0x14], edx
mov cx, word [esi + 8]
xor edx, edx
mov dword [eax + 0x18], ecx
mov dx, word [esi + 0xa]
mov dword [eax + 0x1c], edx
mov eax, dword [ebx]
push ebx
mov dword [eax + 0x14], 0x5f
mov ecx, dword [ebx]
call dword [ecx + 4]
add esp, 8
add esi, 0x10
dec edi
jne 0x7b4b6c
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
sub edx, ecx
test eax, eax
mov dword [esp + 0x10], edx
je 0x7b4bf3
mov eax, edx
sub eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x30]
test eax, eax
jg 0x7b493a
mov eax, dword [esp + 0x10]
test eax, eax
je 0x7b4c1c
mov edx, dword [ebx]
push ebx
mov dword [edx + 0x14], 0xc
mov eax, dword [ebx]
call dword [eax]
add esp, 4
mov dword [edi], ebp
mov dword [edi + 4], esi
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x1c
ret
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x1c
ret