Function at 0x55c330
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push 0x405996
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x70
push ebx
push esi
push edi
mov dword [ebp - 8], esp
mov dword [ebp - 4], 0x4058e8
xor esi, esi
push esi
push 0x80
push esi
push 0x50
push 2
push 0x11
push 0x564db4
push 1
push 0x80
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x38], esi
call dword [sym.imp.MSVBVM60.DLL___vbaRedim]
mov eax, dword [0x564db4]
add esp, 0x24
mov dword [ebp - 0x44], 0x80
mov edx, 1
xor ecx, ecx
cmp ecx, dword [ebp - 0x44]
jg 0x55c3e7
mov edi, dword [eax + 0x14]
mov ebx, ecx
imul edi, dword [eax + 0x18]
sub ebx, edi
mov edi, dword [eax + 0x1c]
sub ebx, edi
mov edi, dword [eax + 0xc]
mov byte [ebx + edi], 1
mov ebx, dword [eax + 0x14]
mov edi, 0x50
sub edi, ebx
mov ebx, dword [eax + 0x1c]
imul edi, dword [eax + 0x18]
sub edi, ebx
mov ebx, dword [eax + 0xc]
add edi, ecx
add ecx, edx
mov byte [edi + ebx], 1
jmp 0x55c3ab
mov edx, 1
mov ecx, edx
mov edi, 0x4f
cmp ecx, edi
jg 0x55c42d
mov ebx, dword [eax + 0x14]
mov edi, ecx
sub edi, ebx
mov ebx, dword [eax + 0x1c]
imul edi, dword [eax + 0x18]
sub edi, ebx
mov ebx, dword [eax + 0xc]
mov byte [edi + ebx], 1
mov ebx, dword [eax + 0x14]
mov edi, ecx
sub edi, ebx
mov ebx, dword [eax + 0x1c]
imul edi, dword [eax + 0x18]
sub edi, ebx
mov ebx, dword [eax + 0xc]
add ecx, edx
mov byte [edi + ebx + 0x80], 1
jmp 0x55c3ee
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaErase]
push 0x564dc8
push esi
call edi
push 0x564dc0
push esi
call edi
mov ebx, dword [ebp + 8]
or edi, 0xffffffff
cmp ebx, edi
mov word [0x564dc4], si
mov word [0x564dcc], si
mov dword [0x564dd4], 0x40
mov dword [0x564dd8], 0x50
mov dword [ebp - 0x1c], edi
mov dword [0x564dd0], esi
mov dword [0x564e18], esi
mov dword [0x564e10], esi
mov dword [0x564e0c], esi
je 0x55c64b
cmp ebx, esi
je 0x55c556
push 0x42e034
push ebx
call dword [sym.imp.MSVBVM60.DLL___vbaStrI4]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov edx, eax
lea ecx, [ebp - 0x20]
call esi
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
push eax
call edi
mov edx, eax
lea ecx, [ebp - 0x18]
call esi
lea ecx, [ebp - 0x20]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
fild dword [ebp + 8]
lea eax, [ebx + ebx*4 + 0x14]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
fmul qword [0x401438]
lea eax, [eax + eax*4]
fadd qword [0x4058e0]
lea eax, [eax + eax*4]
shl eax, 1
mov word [0x564e2a], ax
call dword [sym.imp.MSVBVM60.DLL___vbaFpI2]
fild dword [ebp + 8]
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaFpI4]
mov word [0x564e28], ax
fstp qword [ebp - 0x64]
fld qword [ebp - 0x64]
fmul qword [0x4035e8]
fsubr qword [0x402500]
fstp dword [0x564e2c]
fild dword [ebp + 8]
fstp qword [ebp - 0x6c]
fld qword [ebp - 0x6c]
fmul qword [0x4035f0]
call ebx
fild dword [ebp + 8]
mov word [0x564e22], ax
fstp qword [ebp - 0x74]
fld qword [ebp - 0x74]
fmul qword [0x401458]
call ebx
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
inc eax
mov word [0x564e26], ax
jmp 0x55c6fe
mov ecx, dword [0x563668]
mov eax, 0xfffffffb
mov dword [0x564dd4], eax
mov dword [0x564dd8], eax
movsx eax, word [0x563674]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
movsx eax, word [0x563676]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
add edx, eax
mov eax, dword [edx + 0x6c]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
mov ebx, ecx
shl ebx, 5
sub ebx, ecx
shl ebx, 1
sub eax, ebx
mov cx, word [eax + 6]
cmp cx, si
mov word [0x564e1c], cx
jne 0x55c5ce
mov word [0x564e1c], 3
cmp word [eax + 2], si
mov word [0x564e20], di
jne 0x55c617
mov eax, dword [0x562ad4]
lea ecx, [eax + eax*4]
shl ecx, 0xa
add ecx, eax
mov eax, dword [0x562ec8]
mov ecx, dword [eax + ecx*8 + 0x9ff0]
movsx eax, word [edx + 4]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
mov cx, word [eax + edx*4 + 0xc]
inc cx
mov word [0x564e1e], cx
jmp 0x55c622
mov dx, word [eax + 4]
mov word [0x564e1e], dx
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
mov eax, 4
mov word [0x564e26], ax
mov word [0x564e22], ax
mov dword [0x564e2c], 0x3fc00000
mov dword [ebp - 0x1c], esi
jmp 0x55c6f2
mov ecx, dword [0x563668]
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
movsx eax, word [0x563674]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + edx*4 + 0x100]
movsx eax, word [0x563676]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov eax, dword [edx + eax + 0x6c]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
mov edx, ecx
shl edx, 5
sub edx, ecx
shl edx, 1
sub eax, edx
mov cx, word [eax + 0xe]
mov dx, word [eax + 0x10]
mov word [0x564e28], cx
mov cx, word [eax + 0xc]
mov word [0x564e2a], dx
mov dx, word [eax + 8]
movsx eax, word [eax + 0xa]
mov dword [ebp - 0x78], eax
mov word [0x564e26], cx
fild dword [ebp - 0x78]
mov word [0x564e22], dx
mov edx, 0x42e014
lea ecx, [ebp - 0x18]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
fmul qword [0x401580]
fstp dword [0x564e2c]
call ebx
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov eax, dword [ebp + 8]
test eax, eax
je 0x55c895
mov ax, word [0x564e28]
test ax, ax
jle 0x55c808
cmp word [0x564e2a], 0
jle 0x55c7ca
mov ecx, dword [ebp - 0x18]
push ecx
push 0x42e048
call edi
mov edx, eax
lea ecx, [ebp - 0x20]
call esi
mov dx, word [0x564e28]
push eax
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaStrI2]
mov edx, eax
lea ecx, [ebp - 0x24]
call esi
push eax
call edi
mov edx, eax
lea ecx, [ebp - 0x28]
call esi
push eax
push 0x42e060
call edi
mov edx, eax
lea ecx, [ebp - 0x2c]
call esi
push eax
mov ax, word [0x564e2a]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrI2]
mov edx, eax
lea ecx, [ebp - 0x30]
call esi
push eax
call edi
mov edx, eax
lea ecx, [ebp - 0x34]
call esi
push eax
push 0x42e070
call edi
mov edx, eax
lea ecx, [ebp - 0x38]
call esi
mov edx, eax
mov ecx, 0x564e04
call ebx
lea ecx, [ebp - 0x38]
lea edx, [ebp - 0x34]
push ecx
lea eax, [ebp - 0x30]
push edx
lea ecx, [ebp - 0x2c]
push eax
lea edx, [ebp - 0x28]
push ecx
lea eax, [ebp - 0x24]
push edx
lea ecx, [ebp - 0x20]
push eax
push ecx
push 7
call dword [fcn.00401250]
add esp, 0x20
jmp 0x55c86c
test ax, ax
jle 0x55c808
mov edx, dword [ebp - 0x18]
push edx
push 0x42e048
call edi
mov edx, eax
lea ecx, [ebp - 0x20]
call esi
push eax
mov ax, word [0x564e28]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrI2]
mov edx, eax
lea ecx, [ebp - 0x24]
call esi
push eax
call edi
mov edx, eax
lea ecx, [ebp - 0x28]
call esi
push eax
push 0x41dc58
jmp 0x55c83f
mov edx, dword [ebp - 0x18]
push edx
push 0x42e084
call edi
mov edx, eax
lea ecx, [ebp - 0x20]
call esi
push eax
mov ax, word [0x564e2a]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrI2]
mov edx, eax
lea ecx, [ebp - 0x24]
call esi
push eax
call edi
mov edx, eax
lea ecx, [ebp - 0x28]
call esi
push eax
push 0x42e070
call edi
mov edx, eax
lea ecx, [ebp - 0x2c]
call esi
mov edx, eax
mov ecx, 0x564e04
call ebx
lea ecx, [ebp - 0x2c]
lea edx, [ebp - 0x28]
push ecx
lea eax, [ebp - 0x24]
push edx
lea ecx, [ebp - 0x20]
push eax
push ecx
push 4
call dword [fcn.00401250]
add esp, 0x14
push 0
push 0x564e04
push 0xf
call fcn.00439f00
cmp word [0x564e20], 0
mov word [0x564e08], ax
je 0x55c895
mov edx, dword [ebp + 8]
inc edx
mov word [0x564e1e], dx
mov esi, 0x564e04
cmp word [esi + 0x22], 0
jle 0x55c8b0
lea eax, [ebp - 0x1c]
push eax
call fcn.0055d1b0
dec word [esi + 0x22]
jmp 0x55c895
cmp word [esi + 0x1e], 0
jle 0x55c8c2
call fcn.0055d0c0
dec word [esi + 0x1e]
jmp 0x55c8b0
wait
push 0x55c8fc
jmp 0x55c8f2
lea ecx, [ebp - 0x18]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
ret