Function at 0x426290
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x110
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov ebp, dword [esi]
cmp word [ebp], 1
je 0x426452
movzx ecx, word [ebp + 2]
xor edx, edx
mov eax, dword [esi + 0x48]
div ecx
mov dword [esp + 0x14], ecx
xor edx, edx
mov ecx, eax
mov ebx, dword [ebp + 4]
mov eax, dword [esi + 0x4c]
div ecx
mov dword [esi + 0x48], ecx
movzx edx, byte [ebx + 1]
mov dword [esp + 0x18], ecx
mov ecx, eax
mov edi, ecx
sub ecx, edx
jns 0x426343
imul edx, dword [esp + 0x18]
mov dword [esi + 0x48], edx
cmp edx, 0x1000000
jae 0x42632c
mov eax, dword [esi + 0x54]
mov ecx, eax
mov eax, dword [eax]
call eax
shl dword [esi + 0x48], 8
movzx ecx, al
mov eax, dword [esi + 0x4c]
shl eax, 8
or ecx, eax
cmp dword [esi + 0x48], 0x1000000
mov dword [esi + 0x4c], ecx
jae 0x42632c
mov eax, dword [esi + 0x54]
mov ecx, eax
mov eax, dword [eax]
call eax
movzx ecx, al
mov eax, dword [esi + 0x4c]
shl eax, 8
or ecx, eax
shl dword [esi + 0x48], 8
mov dword [esi + 0x4c], ecx
mov dword [esi + 8], ebx
mov ecx, esi
mov bl, byte [ebx]
call fcn.00425a50
movzx eax, bl
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esi + 0x14], 0
movzx edx, word [ebp]
dec edx
nop
movzx eax, byte [ebx + 7]
add ebx, 6
sub ecx, eax
js 0x4263dd
sub edx, 1
jne 0x426350
cmp edi, dword [esp + 0x14]
jb 0x426377
mov eax, 0xfffffffe
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x18]
sub edi, ecx
imul eax, edi
mov ecx, 0x40
sub dword [esi + 0x4c], eax
mov eax, dword [esp + 0x14]
sub eax, edi
lea edi, [esp + 0x20]
imul eax, dword [esp + 0x18]
mov dword [esi + 0x48], eax
mov eax, dword [esi + 8]
movzx eax, byte [eax]
add eax, 0xc0
shr eax, 5
and eax, 8
mov dword [esi + 0x1c], eax
or eax, 0xffffffff
mov edx, dword [ebp + 4]
rep stosd dword es:[edi], eax
movzx eax, byte [ebx]
mov byte [esp + eax + 0x20], 0
nop
movzx ecx, byte [edx]
movzx eax, byte [edx + 6]
add edx, 0xc
mov byte [esp + ecx + 0x20], 0
mov byte [esp + eax + 0x20], 0
cmp edx, ebx
jb 0x4263c0
jmp 0x426597
movzx eax, byte [ebx + 1]
sub edi, eax
imul eax, dword [esp + 0x18]
sub edi, ecx
imul edi, dword [esp + 0x18]
mov dword [esi + 0x48], eax
sub dword [esi + 0x4c], edi
cmp eax, 0x1000000
jae 0x42643b
mov eax, dword [esi + 0x54]
mov ecx, eax
mov eax, dword [eax]
call eax
shl dword [esi + 0x48], 8
movzx ecx, al
mov eax, dword [esi + 0x4c]
shl eax, 8
or ecx, eax
cmp dword [esi + 0x48], 0x1000000
mov dword [esi + 0x4c], ecx
jae 0x42643b
mov eax, dword [esi + 0x54]
mov ecx, eax
mov eax, dword [eax]
call eax
movzx ecx, al
mov eax, dword [esi + 0x4c]
shl eax, 8
or ecx, eax
shl dword [esi + 0x48], 8
mov dword [esi + 0x4c], ecx
mov dword [esi + 8], ebx
mov ecx, esi
mov bl, byte [ebx]
call fcn.004259c0
movzx eax, bl
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 8]
lea ebx, [ebp + 2]
movzx edi, byte [eax]
add edi, 0xc0
shr edi, 5
and edi, 8
mov dword [esi + 0x1c], edi
mov eax, dword [ebp + 8]
movzx ecx, byte [ebp + 3]
shl ecx, 6
add ecx, edi
movzx eax, word [eax]
movzx edx, byte [eax + esi + 0x1a7]
movzx eax, byte [ebx]
add eax, 0xc0
shr eax, 4
and eax, 0x10
add edx, eax
mov eax, dword [esi + 0x20]
sar eax, 0x1a
add ecx, edx
mov edx, dword [esi + 0x48]
and eax, 0x20
add eax, ecx
shr edx, 0xe
add eax, dword [esi + 0x14]
movzx ecx, word [esi + eax*2 + 0x97c]
lea edi, [esi + eax*2]
imul edx, ecx
lea eax, [ecx + 0x20]
shr eax, 7
sub ecx, eax
cmp dword [esi + 0x4c], edx
jae 0x42655c
lea eax, [ecx + 0x80]
mov word [edi + 0x97c], ax
mov dword [esi + 0x48], edx
cmp edx, 0x1000000
jae 0x4264f9
mov eax, dword [esi + 0x54]
mov ecx, eax
mov eax, dword [eax]
call eax
movzx ecx, al
mov eax, dword [esi + 0x4c]
shl eax, 8
or ecx, eax
shl dword [esi + 0x48], 8
mov dword [esi + 0x4c], ecx
movzx edx, word [ebx + 4]
movzx eax, word [ebx + 2]
movzx ecx, byte [ebx + 1]
shl edx, 0x10
or edx, eax
mov al, byte [ebx]
inc dword [esi + 0x20]
cmp ecx, 0x80
mov byte [esp + 0x13], al
setb al
mov dword [esi + 8], ebx
add al, cl
mov dword [esi + 0x14], 1
mov byte [ebx + 1], al
cmp dword [esi + 0xc], 0
jne 0x426548
cmp edx, dword [esi + 0x40]
jbe 0x426548
movzx eax, byte [esp + 0x13]
mov dword [esi], edx
mov dword [esi + 4], edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00425b00
movzx eax, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov word [edi + 0x97c], cx
lea edi, [esp + 0x20]
shr ecx, 0xa
movzx eax, byte [ecx + esi + 0x3a8]
mov ecx, 0x40
sub dword [esi + 0x4c], edx
sub dword [esi + 0x48], edx
mov dword [esi + 0x10], eax
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esi]
movzx eax, byte [eax + 2]
mov dword [esi + 0x14], 0
mov byte [esp + eax + 0x20], 0
cmp dword [esi + 0x48], 0x1000000
jae 0x4265df
mov eax, dword [esi + 0x54]
mov ecx, eax
mov eax, dword [eax]
call eax
shl dword [esi + 0x48], 8
movzx ecx, al
mov eax, dword [esi + 0x4c]
shl eax, 8
or ecx, eax
cmp dword [esi + 0x48], 0x1000000
mov dword [esi + 0x4c], ecx
jae 0x4265df
mov eax, dword [esi + 0x54]
mov ecx, eax
mov eax, dword [eax]
call eax
movzx ecx, al
mov eax, dword [esi + 0x4c]
shl eax, 8
or ecx, eax
shl dword [esi + 0x48], 8
mov dword [esi + 0x4c], ecx
mov edi, dword [esi]
movzx ecx, word [edi]
mov dword [esp + 0x14], ecx
inc dword [esi + 0xc]
mov edi, dword [edi + 8]
test edi, edi
je 0x42678c
movzx eax, word [edi]
cmp eax, ecx
je 0x4265e8
mov edx, dword [edi + 4]
movzx ecx, word [edi]
mov ebp, ecx
and ecx, 1
shr ebp, 1
movzx eax, byte [edx]
movzx ebx, byte [esp + eax + 0x20]
movzx eax, byte [edx + 1]
and ebx, eax
mov dword [esi], edi
mov eax, ecx
neg eax
and ebx, eax
lea eax, [ecx + ecx*2]
lea edx, [edx + eax*2]
nop word [eax + eax]
movzx eax, byte [edx + 6]
lea edx, [edx + 0xc]
movzx ecx, byte [edx - 0xc]
movzx edi, byte [esp + eax + 0x20]
movzx eax, byte [edx - 5]
movzx ecx, byte [esp + ecx + 0x20]
and edi, eax
movzx eax, byte [edx - 0xb]
and ecx, eax
add ebx, ecx
add ebx, edi
sub ebp, 1
jne 0x426630
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
call fcn.00425920
mov ecx, dword [esp + 0x1c]
mov ebp, eax
mov eax, dword [esi + 0x48]
xor edx, edx
add ecx, ebx
div ecx
xor edx, edx
mov dword [esp + 0x1c], ecx
mov edi, eax
mov eax, dword [esi + 0x4c]
div edi
mov dword [esp + 0x18], edi
mov edx, eax
mov dword [esi + 0x48], edi
cmp edx, ebx
jb 0x4266d4
cmp edx, ecx
jae 0x42636a
mov eax, edi
imul eax, ebx
sub dword [esi + 0x4c], eax
mov eax, ecx
sub eax, ebx
imul eax, edi
mov dword [esi + 0x48], eax
add word [ebp], cx
mov eax, dword [esi]
mov ecx, dword [eax + 4]
movzx eax, word [eax]
lea eax, [eax + eax*2]
lea edx, [ecx + eax*2]
nop
movzx eax, byte [ecx]
add ecx, 6
mov byte [esp + eax + 0x20], 0
cmp ecx, edx
jne 0x4266c0
jmp 0x426597
mov eax, dword [esi]
mov ebx, edx
mov edi, dword [eax + 4]
nop dword [eax + eax]
movzx eax, byte [edi]
movzx ecx, byte [esp + eax + 0x20]
movzx eax, byte [edi + 1]
add edi, 6
and ecx, eax
sub edx, ecx
jns 0x4266e0
movzx eax, byte [edi - 5]
sub edi, 6
mov ecx, dword [esp + 0x18]
sub ebx, eax
sub ebx, edx
imul ebx, ecx
imul ecx, eax
sub dword [esi + 0x4c], ebx
mov dword [esi + 0x48], ecx
cmp ecx, 0x1000000
jae 0x426757
mov eax, dword [esi + 0x54]
mov ecx, eax
mov eax, dword [eax]
call eax
shl dword [esi + 0x48], 8
movzx ecx, al
mov eax, dword [esi + 0x4c]
shl eax, 8
or ecx, eax
cmp dword [esi + 0x48], 0x1000000
mov dword [esi + 0x4c], ecx
jae 0x426757
mov eax, dword [esi + 0x54]
mov ecx, eax
mov eax, dword [eax]
call eax
movzx ecx, al
mov eax, dword [esi + 0x4c]
shl eax, 8
or ecx, eax
shl dword [esi + 0x48], 8
mov dword [esi + 0x4c], ecx
mov cl, byte [ebp + 2]
cmp cl, 7
jae 0x426775
add byte [ebp + 3], 0xff
jne 0x426775
shl word [ebp], 1
mov al, 3
shl al, cl
inc cl
mov byte [ebp + 3], al
mov byte [ebp + 2], cl
mov dword [esi + 8], edi
mov ecx, esi
mov bl, byte [edi]
call fcn.00425ac0
movzx eax, bl
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
or eax, 0xffffffff
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret