Function at 0x42ca20
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x38
push ebx
mov ebx, dword [esp + 0x54]
push edi
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x20], 0xff
cmp edi, 0x204
jae 0x42ca48
pop edi
or eax, 0xffffffff
pop ebx
add esp, 0x38
ret 0x1c
push ebp
mov ebp, dword [esp + 0x54]
lea eax, [esp + 0x2c]
push esi
mov esi, dword [esp + 0x54]
push ebp
push esi
push eax
lea eax, [esp + 0x34]
push eax
push ebx
call fcn.0042d320
cmp eax, 0xffffff88
ja 0x42cf03
mov ecx, dword [esp + 0x30]
cmp ecx, dword [esp + 0x5c]
ja 0x42cadb
lea edx, [eax + esi]
sub ebp, eax
mov eax, 1
mov dword [esp + 0x18], edx
shl eax, cl
xor esi, esi
mov dword [esp + 0x2c], eax
xor edx, edx
lea eax, [esi + 1]
call fcn.0051de60
mov ebx, dword [esp + 0x28]
lea ecx, [ebx*2 + 2]
mov ebx, dword [esp + 0x60]
add ecx, eax
mov eax, dword [esp + 0x2c]
adc esi, edx
add ecx, 0xb
adc esi, 0
inc eax
shrd ecx, esi, 2
cdq
shr esi, 2
add ecx, eax
adc esi, edx
add ecx, 0x81
adc esi, 0
shld esi, ecx, 2
shl ecx, 2
test esi, esi
jb 0x42caea
ja 0x42cadb
cmp ecx, edi
jbe 0x42caea
pop esi
pop ebp
pop edi
mov eax, 0xffffffd4
pop ebx
add esp, 0x38
ret 0x1c
mov ecx, dword [esp + 0x2c]
lea esi, [ebx + 0x200]
mov dword [esp + 0x1c], esi
lea eax, [ecx*4]
add ecx, 0x81
sub edi, eax
sub edi, 0x208
push edi
lea eax, [ebx + ecx*4]
push eax
push dword [esp + 0x38]
push dword [esp + 0x34]
push ebx
push esi
call fcn.0042c730
cmp eax, 0xffffff88
ja 0x42cf03
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
add eax, ecx
cmp word [ebx + 0x202], 0
mov ebx, ecx
push ebp
push dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x3c]
push eax
je 0x42cf4b
mov dword [esp + 0x20], ebx
call fcn.00433300
cmp eax, 0xffffff88
ja 0x42cf03
mov ecx, dword [esp + 0x38]
movzx esi, word [esi]
mov eax, dword [esp + 0x34]
add ecx, esi
mov dword [esp + 0x38], ecx
neg ecx
and ecx, 0x1f
mov edi, dword [esi*4 + 0x544d18]
shr eax, cl
and eax, edi
mov dword [esp + 0x18], eax
lea eax, [esp + 0x34]
push eax
call fcn.00433460
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x1c]
add ecx, esi
add eax, 4
mov dword [esp + 0x38], ecx
mov dword [esp + 0x20], eax
neg ecx
mov eax, dword [esp + 0x34]
and ecx, 0x1f
shr eax, cl
and eax, edi
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x34]
push eax
call fcn.00433460
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x10], eax
mov esi, dword [esp + 0x40]
cmp ebp, 0x20
jbe 0x42cbe3
mov edx, 3
jmp 0x42cc41
cmp edi, dword [esp + 0x44]
jb 0x42cbfd
mov eax, ebp
and ebp, 7
shr eax, 3
sub edi, eax
mov edx, dword [edi]
mov dword [esp + 0x10], edx
xor edx, edx
jmp 0x42cc41
cmp edi, esi
jne 0x42cc0f
cmp ebp, 0x20
sbb eax, eax
add eax, 2
mov dword [esp + 0x2c], eax
jmp 0x42cc3d
mov ecx, ebp
mov dword [esp + 0x2c], 0
shr ecx, 3
mov eax, edi
sub eax, ecx
cmp eax, esi
jae 0x42cc30
mov ecx, edi
mov dword [esp + 0x2c], 1
sub ecx, esi
sub edi, ecx
imul eax, ecx, 0xfffffff8
mov edx, dword [edi]
add ebp, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
add eax, 0xfffffffd
cmp ebx, eax
sbb ecx, ecx
xor eax, eax
neg ecx
test edx, edx
sete al
test eax, ecx
je 0x42cdb3
mov edx, dword [esp + 0x18]
mov ecx, ebp
mov eax, dword [esp + 0x20]
and ecx, 0x1f
mov ebx, dword [eax + edx*4]
mov edx, ebx
mov eax, dword [esp + 0x10]
shl eax, cl
shr edx, 0x18
mov ecx, edx
neg ecx
and ecx, 0x1f
shr eax, cl
lea ecx, [edx + ebp]
mov ebp, dword [esp + 0x1c]
movzx edx, bx
add edx, eax
shr ebx, 0x10
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], edx
mov byte [eax], bl
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
mov edx, dword [eax + ebp*4]
mov eax, edx
shr eax, 0x18
lea ebp, [ecx + eax]
neg eax
and ecx, 0x1f
and eax, 0x1f
shl ebx, cl
mov ecx, eax
shr ebx, cl
movzx eax, dx
add ebx, eax
shr edx, 0x10
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x14]
mov byte [ebx + 1], dl
cmp ebp, 0x20
ja 0x42cdac
cmp edi, dword [esp + 0x44]
jb 0x42ccef
mov eax, ebp
shr eax, 3
sub edi, eax
and ebp, 7
mov ecx, dword [edi]
mov dword [esp + 0x10], ecx
jmp 0x42cd28
cmp edi, esi
je 0x42cdac
mov ecx, ebp
mov eax, edi
shr ecx, 3
xor edx, edx
sub eax, ecx
cmp eax, esi
jae 0x42cd0f
mov ecx, edi
mov edx, 1
sub ecx, esi
sub edi, ecx
lea eax, [ecx*8]
sub ebp, eax
mov ecx, dword [edi]
mov dword [esp + 0x10], ecx
test edx, edx
jne 0x42cdac
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x18], ecx
mov edx, dword [eax + edx*4]
mov eax, edx
shr eax, 0x18
lea esi, [eax + ebp]
and ebp, 0x1f
neg eax
mov ecx, ebp
mov ebp, dword [esp + 0x18]
and eax, 0x1f
shl ebp, cl
mov ecx, eax
shr ebp, cl
mov ecx, dword [esp + 0x10]
movzx eax, dx
add ebp, eax
shr edx, 0x10
mov eax, dword [esp + 0x20]
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x1c]
mov byte [ebx + 2], dl
mov dword [esp + 0x1c], ecx
mov edx, dword [eax + ebp*4]
mov eax, edx
shr eax, 0x18
lea ebp, [esi + eax]
and esi, 0x1f
mov ecx, esi
neg eax
mov esi, dword [esp + 0x1c]
and eax, 0x1f
shl esi, cl
mov ecx, eax
movzx eax, dx
shr esi, cl
shr edx, 0x10
add esi, eax
mov byte [ebx + 3], dl
add ebx, 4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], ebx
jmp 0x42cbd3
add ebx, 2
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x24]
add eax, 0xfffffffe
cmp ebx, eax
ja 0x42cefe
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ecx, ebp
mov ebx, dword [esp + 0x20]
and ecx, 0x1f
shl eax, cl
mov ebx, dword [ebx + edx*4]
mov edx, ebx
shr edx, 0x18
mov ecx, edx
neg ecx
and ecx, 0x1f
lea esi, [edx + ebp]
shr eax, cl
mov edx, dword [esp + 0x14]
movzx ecx, bx
shr ebx, 0x10
add ecx, eax
mov dword [esp + 0x18], ecx
mov byte [edx], bl
inc edx
mov dword [esp + 0x14], edx
cmp esi, 0x20
ja 0x42cf2c
cmp edi, dword [esp + 0x44]
jb 0x42ce21
mov eax, esi
shr eax, 3
sub edi, eax
and esi, 7
mov eax, dword [edi]
mov dword [esp + 0x10], eax
jmp 0x42ce55
mov ecx, dword [esp + 0x40]
cmp edi, ecx
je 0x42ce51
mov edx, esi
mov eax, edi
shr edx, 3
sub eax, edx
cmp eax, ecx
jae 0x42ce3a
mov edx, edi
sub edx, ecx
sub edi, edx
lea eax, [edx*8]
mov edx, dword [esp + 0x14]
sub esi, eax
mov eax, dword [edi]
mov dword [esp + 0x10], eax
jmp 0x42ce55
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffffe
cmp edx, ecx
ja 0x42cefe
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov ebx, dword [ecx + ebp*4]
mov edx, ebx
shr edx, 0x18
mov ecx, esi
and ecx, 0x1f
shl eax, cl
mov ecx, edx
neg ecx
and ecx, 0x1f
lea ebp, [edx + esi]
mov edx, dword [esp + 0x14]
shr eax, cl
movzx ecx, bx
shr ebx, 0x10
add ecx, eax
mov byte [edx], bl
inc edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], edx
cmp ebp, 0x20
ja 0x42cf0d
cmp edi, dword [esp + 0x44]
jb 0x42cebb
mov eax, ebp
shr eax, 3
sub edi, eax
and ebp, 7
mov eax, dword [edi]
mov dword [esp + 0x10], eax
jmp 0x42ceef
mov ecx, dword [esp + 0x40]
cmp edi, ecx
je 0x42ceeb
mov edx, ebp
mov eax, edi
shr edx, 3
sub eax, edx
cmp eax, ecx
jae 0x42ced4
mov edx, edi
sub edx, ecx
sub edi, edx
lea eax, [edx*8]
mov edx, dword [esp + 0x14]
sub ebp, eax
mov eax, dword [edi]
mov dword [esp + 0x10], eax
jmp 0x42ceef
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffffe
cmp edx, ecx
jbe 0x42cdc6
mov eax, 0xffffffba
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x38
ret 0x1c
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
pop esi
pop ebp
pop edi
mov al, byte [ecx + eax*4 + 2]
mov byte [edx], al
sub edx, dword [esp + 0x40]
pop ebx
lea eax, [edx + 1]
add esp, 0x38
ret 0x1c
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
pop esi
mov al, byte [eax + ebp*4 + 2]
mov byte [edx], al
sub edx, dword [esp + 0x48]
pop ebp
pop edi
pop ebx
lea eax, [edx + 1]
add esp, 0x38
ret 0x1c
mov dword [esp + 0x2c], ebx
call fcn.00433300
cmp eax, 0xffffff88
ja 0x42cf03
mov ecx, dword [esp + 0x38]
movzx esi, word [esi]
mov eax, dword [esp + 0x34]
add ecx, esi
mov dword [esp + 0x38], ecx
neg ecx
and ecx, 0x1f
mov edi, dword [esi*4 + 0x544d18]
shr eax, cl
and eax, edi
mov dword [esp + 0x18], eax
lea eax, [esp + 0x34]
push eax
call fcn.00433460
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
add ecx, esi
mov dword [esp + 0x38], ecx
neg ecx
and ecx, 0x1f
shr eax, cl
and eax, edi
mov dword [esp + 0x14], eax
lea eax, [esp + 0x34]
push eax
call fcn.00433460
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x40]
cmp ebp, 0x20
jbe 0x42cfcd
mov edx, 3
jmp 0x42d016
cmp edi, dword [esp + 0x44]
jb 0x42cfe1
mov eax, ebp
and ebp, 7
shr eax, 3
sub edi, eax
xor edx, edx
jmp 0x42d010
cmp edi, edx
jne 0x42cfef
cmp ebp, 0x20
sbb edx, edx
add edx, 2
jmp 0x42d016
mov ecx, ebp
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, edx
jae 0x42d007
mov ecx, edi
sub ecx, edx
mov edx, 1
jmp 0x42d009
xor edx, edx
imul eax, ecx, 0xfffffff8
sub edi, ecx
add ebp, eax
mov esi, dword [edi]
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x24]
add eax, 0xfffffffd
cmp ebx, eax
sbb ecx, ecx
xor eax, eax
neg ecx
test edx, edx
sete al
test eax, ecx
je 0x42d184
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ebx, dword [eax + ecx*4 + 4]
mov edx, ebx
mov eax, dword [esp + 0x10]
shr edx, 0x18
lea esi, [edx + ebp]
mov ecx, esi
neg ecx
and ecx, 0x1f
shr eax, cl
and eax, dword [edx*4 + 0x544d18]
movzx ecx, bx
add ecx, eax
shr ebx, 0x10
mov eax, dword [esp + 0x20]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
mov byte [eax], bl
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov edx, dword [eax + ecx*4 + 4]
mov eax, edx
shr eax, 0x18
lea ecx, [eax + esi]
lea ebp, [eax + esi]
neg ecx
mov esi, dword [esp + 0x10]
and ecx, 0x1f
shr esi, cl
and esi, dword [eax*4 + 0x544d18]
movzx eax, dx
add esi, eax
shr edx, 0x10
mov dword [esp + 0x14], esi
mov byte [ebx + 1], dl
cmp ebp, 0x20
ja 0x42d17d
cmp edi, dword [esp + 0x44]
jb 0x42d0c9
mov eax, ebp
shr eax, 3
sub edi, eax
and ebp, 7
mov eax, dword [edi]
mov dword [esp + 0x10], eax
jmp 0x42d102
mov edx, dword [esp + 0x40]
cmp edi, edx
je 0x42d17d
mov ecx, ebp
mov eax, edi
shr ecx, 3
xor esi, esi
sub eax, ecx
cmp eax, edx
jae 0x42d0ed
mov ecx, edi
mov esi, 1
sub ecx, edx
sub edi, ecx
lea eax, [ecx*8]
sub ebp, eax
mov eax, dword [edi]
mov dword [esp + 0x10], eax
test esi, esi
jne 0x42d17d
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + ecx*4 + 4]
mov eax, edx
shr eax, 0x18
lea esi, [eax + ebp]
mov ebp, dword [esp + 0x10]
mov ecx, esi
neg ecx
and ecx, 0x1f
shr ebp, cl
and ebp, dword [eax*4 + 0x544d18]
mov ecx, dword [esp + 0x14]
movzx eax, dx
add ebp, eax
shr edx, 0x10
mov eax, dword [esp + 0x1c]
mov byte [ebx + 2], dl
mov dword [esp + 0x18], ebp
mov edx, dword [eax + ecx*4 + 4]
mov eax, edx
shr eax, 0x18
lea ecx, [eax + esi]
lea ebp, [eax + esi]
neg ecx
mov esi, dword [esp + 0x10]
and ecx, 0x1f
shr esi, cl
and esi, dword [eax*4 + 0x544d18]
movzx eax, dx
shr edx, 0x10
add esi, eax
mov byte [ebx + 3], dl
add ebx, 4
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], ebx
jmp 0x42cfbd
add ebx, 2
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x24]
add eax, 0xfffffffe
cmp ebx, eax
ja 0x42cefe
mov eax, dword [esp + 0x10]
jmp 0x42d1a0
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ebx, dword [ebx + ecx*4 + 4]
mov edx, ebx
shr edx, 0x18
lea esi, [edx + ebp]
mov ecx, esi
neg ecx
and ecx, 0x1f
shr eax, cl
and eax, dword [edx*4 + 0x544d18]
mov edx, dword [esp + 0x20]
movzx ecx, bx
shr ebx, 0x10
add ecx, eax
mov dword [esp + 0x18], ecx
mov byte [edx], bl
inc edx
mov dword [esp + 0x20], edx
cmp esi, 0x20
ja 0x42d300
cmp edi, dword [esp + 0x44]
jb 0x42d1fc
mov eax, esi
shr eax, 3
sub edi, eax
and esi, 7
mov eax, dword [edi]
mov dword [esp + 0x10], eax
jmp 0x42d22c
mov ecx, dword [esp + 0x40]
cmp edi, ecx
je 0x42d228
mov ebx, esi
mov eax, edi
shr ebx, 3
sub eax, ebx
cmp eax, ecx
jae 0x42d215
mov ebx, edi
sub ebx, ecx
sub edi, ebx
lea eax, [ebx*8]
sub esi, eax
mov eax, dword [edi]
mov dword [esp + 0x10], eax
jmp 0x42d22c
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffffe
cmp edx, ecx
ja 0x42cefe
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov ebx, dword [edx + ecx*4 + 4]
mov edx, ebx
shr edx, 0x18
lea ebp, [esi + edx]
mov ecx, ebp
neg ecx
and ecx, 0x1f
shr eax, cl
and eax, dword [edx*4 + 0x544d18]
mov edx, dword [esp + 0x20]
movzx ecx, bx
shr ebx, 0x10
add ecx, eax
mov dword [esp + 0x14], ecx
mov byte [edx], bl
inc edx
mov dword [esp + 0x20], edx
cmp ebp, 0x20
ja 0x42d2e1
cmp edi, dword [esp + 0x44]
jb 0x42d293
mov eax, ebp
shr eax, 3
sub edi, eax
and ebp, 7
mov eax, dword [edi]
mov dword [esp + 0x10], eax
jmp 0x42d2c3
mov ecx, dword [esp + 0x40]
cmp edi, ecx
je 0x42d2bf
mov esi, ebp
mov eax, edi
shr esi, 3
sub eax, esi
cmp eax, ecx
jae 0x42d2ac
mov esi, edi
sub esi, ecx
sub edi, esi
lea eax, [esi*8]
sub ebp, eax
mov eax, dword [edi]
mov dword [esp + 0x10], eax
jmp 0x42d2c3
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffffe
cmp edx, ecx
jbe 0x42d1a0
pop esi
pop ebp
pop edi
mov eax, 0xffffffba
pop ebx
add esp, 0x38
ret 0x1c
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
pop esi
pop ebp
pop edi
mov al, byte [eax + ecx*4 + 6]
mov byte [edx], al
sub edx, dword [esp + 0x40]
pop ebx
lea eax, [edx + 1]
add esp, 0x38
ret 0x1c
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
pop esi
pop ebp
pop edi
mov al, byte [eax + ecx*4 + 6]
mov byte [edx], al
sub edx, dword [esp + 0x40]
pop ebx
lea eax, [edx + 1]
add esp, 0x38
ret 0x1c