Function at 0x4a02e0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x84
push ebx
mov ebx, ecx
mov ecx, dword [esp + 0x90]
push ebp
push esi
push edi
lea eax, [ecx + ecx*8]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ecx
lea edx, [ecx + eax*2]
mov eax, 0xcccccccd
mul edx
shr edx, 4
mov dword [esp + 0x28], edx
lea edx, [ecx + ecx*2]
mov eax, 0xcccccccd
mul edx
shr edx, 4
mov dword [esp + 0x38], edx
lea edx, [ecx + ecx*2]
shl edx, 1
mov eax, 0xcccccccd
mul edx
shr edx, 4
mov dword [esp + 0x3c], edx
lea edx, [ecx*4]
mov eax, 0xcccccccd
mul edx
mov eax, dword [ebx + 0x1c]
mov esi, edx
shr esi, 2
mov eax, dword [eax + 8]
cmp eax, 0x10
jne 0x4a04c8
mov edi, ecx
mov ebx, ecx
and ecx, 0x1f
xor esi, esi
shr ebx, 3
lea eax, [ecx*8]
and ebx, 0xfc
shr edi, 8
lea eax, [eax + eax*2]
and edi, 0xf8
shl eax, 2
mov dword [esp + 0x18], eax
lea eax, [ebx + ebx*2]
shl eax, 2
mov dword [esp + 0x14], eax
lea eax, [edi + edi*2]
shl eax, 2
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], eax
mov ecx, 0x14
mov eax, 0xcccccccd
sub ecx, esi
mov edx, ecx
imul edx, edi
mul edx
shr edx, 4
mov ebp, edx
mov edx, ecx
imul edx, ebx
mov eax, 0xcccccccd
and ebp, 0xf8
mul edx
mov eax, dword [esp + 0x10]
shr edx, 4
shl ebp, 5
and edx, 0xfc
or ebp, edx
shl ebp, 3
mov dword [esp + 0x2c], ebp
lea ebp, [eax*8]
imul ecx, ebp
mov eax, 0xcccccccd
mul ecx
mov ecx, dword [esp + 0x2c]
mov eax, 0xcccccccd
shr edx, 4
shr edx, 3
and edx, 0x1f
or ecx, edx
mul dword [esp + 0x1c]
shr edx, 4
mov dword [esp + esi*4 + 0x24], ecx
mov eax, 0xcccccccd
mov ecx, edx
mul dword [esp + 0x14]
and ecx, 0xf8
mov eax, 0xcccccccd
shr edx, 4
shl ecx, 5
and edx, 0xfc
or ecx, edx
mul dword [esp + 0x18]
shr edx, 4
mov eax, dword [esp + 0x1c]
shr edx, 3
shl ecx, 3
and edx, 0x1f
add eax, edi
or ecx, edx
mov edx, dword [esp + 0x14]
mov dword [esp + esi*4 + 0x38], ecx
mov ecx, dword [esp + 0x18]
inc esi
add edx, ebx
add ecx, ebp
cmp esi, 2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ecx
jl 0x4a0399
lea edx, [edi*4]
mov eax, 0xcccccccd
mul edx
shr edx, 2
lea ecx, [ebx*4]
mov eax, 0xcccccccd
mov esi, edx
mul ecx
mov ecx, dword [esp + 0x10]
and esi, 0xf8
shr edx, 2
shl esi, 5
and edx, 0xfc
mov eax, 0xcccccccd
shl ecx, 5
or esi, edx
mul ecx
mov ebx, dword [esp + 0x20]
shr edx, 2
shr edx, 3
shl esi, 3
and edx, 0x1f
or esi, edx
jmp 0x4a0696
cmp eax, 0x18
jne 0x4a0696
xor edx, edx
xor esi, esi
mov dl, byte [esp + 0x9e]
mov ebp, edx
xor edx, edx
mov dl, ch
and ecx, 0xff
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], edx
lea eax, [ecx + ecx*2]
shl eax, 2
mov dword [esp + 0x14], eax
lea eax, [edx + edx*2]
shl eax, 2
mov dword [esp + 0x18], eax
lea eax, [ebp + ebp*2]
shl eax, 2
mov dword [esp + 0x10], eax
mov edi, 0x14
mov eax, 0xcccccccd
sub edi, esi
imul ebp, edi
mul ebp
shr edx, 4
mov ebp, edx
mov edx, dword [esp + 0x1c]
imul edx, edi
mov eax, 0xcccccccd
mul edx
shl ebp, 8
shr edx, 4
or ebp, edx
mov edx, ecx
imul edx, edi
mov eax, 0xcccccccd
mov edi, dword [esp + 0x10]
mul edx
shl ebp, 8
shr edx, 4
mov eax, 0xcccccccd
or ebp, edx
mul edi
shr edx, 4
mov dword [esp + esi*4 + 0x24], ebp
mov eax, 0xcccccccd
mov ebp, edx
mul dword [esp + 0x18]
shl ebp, 8
shr edx, 4
mov eax, 0xcccccccd
or ebp, edx
mul dword [esp + 0x14]
shl ebp, 8
shr edx, 4
or ebp, edx
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov dword [esp + esi*4 + 0x38], ebp
mov ebp, dword [esp + 0x20]
inc esi
add edi, ebp
add edx, ecx
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x18]
add edi, eax
cmp esi, 2
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], edx
jl 0x4a050f
shl ecx, 2
lea edx, [esp + 0x2c]
mov dword [esp + 0x20], ecx
push 5
push edx
lea ecx, [esp + 0x28]
call fcn.004a0990
push eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x20]
push 8
push ecx
lea edx, [esp + 0x24]
push 5
push edx
lea eax, [esp + 0x34]
push 4
push eax
lea ecx, [esp + 0xa0]
push 0xff
push ecx
lea edx, [esp + 0xb8]
push 8
push edx
lea ecx, [esp + 0xcc]
call fcn.004a09b0
mov ecx, eax
call fcn.004354c0
mov ecx, eax
call fcn.004a0980
mov ecx, eax
call fcn.004a0990
mov ecx, eax
call fcn.004a09d0
push eax
lea eax, [esp + 0x84]
push eax
lea ecx, [esp + 0x9c]
push 0x10
push ecx
lea edx, [esp + 0x94]
push 5
push edx
lea eax, [esp + 0xa4]
push 4
push eax
lea ecx, [esp + 0x58]
push 0xff
push ecx
lea edx, [esp + 0x7c]
push 0x10
push edx
lea ecx, [esp + 0xd4]
call fcn.004a09b0
mov ecx, eax
call fcn.004354c0
mov ecx, eax
call fcn.004a0980
mov ecx, eax
call fcn.004a0990
mov ecx, eax
call fcn.004a09d0
mov ecx, eax
call fcn.004354a0
mov ecx, eax
call fcn.004354a0
mov esi, dword [eax]
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
lea edi, [ebx + 4]
lea ebp, [ebx + 0xc]
mov edx, ebp
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
push 1
mov eax, dword [edx]
push 1
push esi
mov dword [esp + 0x2c], ebp
mov ecx, dword [edx + 4]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ecx
lea ecx, [esp + 0x58]
mov edx, dword [edx + 8]
mov dword [esp + 0x54], edx
call fcn.00427740
mov ecx, dword [eax]
mov dword [edi], ecx
mov edx, dword [eax + 4]
mov ecx, edi
mov dword [edi + 4], edx
call fcn.0042dd70
push esi
push esi
push 1
lea ecx, [esp + 0x58]
call fcn.0041ae00
mov edx, dword [eax]
mov ecx, ebp
mov esi, dword [esp + 0x98]
mov dword [ecx], edx
mov edx, dword [eax + 4]
push esi
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov ecx, ebx
call fcn.004a0a30
lea ecx, [esp + 0x24]
mov dword [ebp], 0
mov dword [esp + 0x18], 0
xor ebp, ebp
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x14]
push 1
push 1
lea ecx, [esp + 0x54]
mov eax, dword [edx]
push eax
call fcn.00427740
mov ecx, dword [eax]
mov dword [edi], ecx
mov edx, dword [eax + 4]
mov ecx, edi
mov dword [edi + 4], edx
call fcn.0042dd70
movsx edx, word [esi + 6]
movsx eax, word [esi + 2]
sub edx, ebp
movsx ecx, word [esi]
sub edx, eax
inc edx
push edx
movsx edx, word [esi + 4]
sub edx, ebp
sub edx, ecx
inc edx
push edx
mov edx, dword [esp + 0x20]
add eax, edx
add edx, ecx
push eax
push edx
lea ecx, [esp + 0x94]
call fcn.004c9320
push eax
mov ecx, ebx
call fcn.004a0a30
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
add ebp, 2
inc eax
add edx, 4
cmp ebp, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edx
jl 0x4a072a
mov ax, word [esi + 4]
mov cx, word [esi + 6]
mov word [esp + 0x10], ax
mov word [esp + 0x12], cx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x58], edx
lea edx, [eax - 1]
mov word [esp + 0x10], dx
lea edx, [ecx - 1]
mov word [esp + 0x12], dx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x5c], edx
lea edx, [eax - 2]
mov word [esp + 0x10], dx
lea edx, [ecx - 2]
mov word [esp + 0x12], dx
mov edx, dword [esp + 0x10]
add ecx, 0xfffffffd
add eax, 0xfffffffd
mov word [esp + 0x12], cx
lea ecx, [esp + 0x4c]
mov word [esp + 0x10], ax
mov eax, dword [esp + 0x10]
push ecx
mov ecx, esi
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], eax
call fcn.004a0960
mov edx, dword [eax]
mov ax, word [esi]
mov dword [esp + 0x68], edx
xor edi, edi
lea ecx, [eax + 1]
lea ebp, [ebx + 4]
mov word [esp + 0x10], cx
mov cx, word [esi + 2]
lea edx, [ecx + 1]
mov word [esp + 0x12], dx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x6c], edx
lea edx, [eax + 2]
mov word [esp + 0x10], dx
lea edx, [ecx + 2]
mov word [esp + 0x12], dx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0xa0]
add eax, 3
add ecx, 3
mov word [esp + 0x10], ax
mov word [esp + 0x12], cx
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x38]
shl edx, 4
mov dword [esp + 0x74], eax
mov dword [esp + 0x18], ecx
lea eax, [esp + edx + 0x58]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x18]
push 1
push 1
mov edx, dword [ecx]
lea ecx, [esp + 0x2c]
push edx
call fcn.00427740
mov ecx, dword [eax]
mov dword [ebp], ecx
mov edx, dword [eax + 4]
mov ecx, ebp
mov dword [ebp + 4], edx
call fcn.0042dd70
mov cx, word [esi + 6]
mov ax, di
add ax, word [esi]
sub cx, di
lea edx, [esp + 0x10]
mov word [esp + 0x12], cx
push edx
mov ecx, ebx
mov word [esp + 0x14], ax
call fcn.004a09f0
mov eax, dword [esp + 0x14]
mov ecx, ebx
push eax
call fcn.004a0a10
mov cx, word [esi + 4]
mov dx, di
add dx, word [esi + 2]
sub cx, di
lea eax, [esp + 0x1c]
mov word [esp + 0x1c], cx
push eax
mov ecx, ebx
mov word [esp + 0x22], dx
call fcn.004a0a10
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, 4
inc edi
add edx, eax
add ecx, eax
cmp edi, 2
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], ecx
jb 0x4a0886
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
lea ecx, [ebx + 4]
mov dword [ecx], edx
mov dword [ecx + 4], eax
call fcn.0042dd70
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
pop edi
mov dword [eax], ecx
mov ecx, dword [esp + 0x44]
pop esi
mov dword [eax + 4], edx
pop ebp
mov dword [eax + 8], ecx
pop ebx
add esp, 0x84
ret 0xc