Function at 0x41b700
Capabilities:
Enumerate pe sections

Disassembly:
push ebx
push esi
mov esi, eax
xor ebx, ebx
cmp esi, ebx
je 0x41b958
mov edx, dword [esi + 8]
cmp edx, 0x40
jae 0x41b958
mov cl, byte [esi + 0xac]
push ebp
test cl, cl
jbe 0x41b778
mov eax, 0x40
movzx ebp, cl
sub eax, edx
cmp ebp, eax
jb 0x41b735
mov ebp, eax
mov ecx, dword [esi + 8]
push ebp
lea eax, [esi + 0x6c]
push eax
lea edx, [ecx + esi + 0x2c]
push edx
call fcn.004360d0
add dword [esi + 8], ebp
add esp, 0xc
cmp dword [esi + 8], 0x40
jne 0x41b778
lea eax, [esi + 0x2c]
push esi
call fcn.0041b960
add esp, 4
test eax, eax
je 0x41b76c
pop ebp
pop esi
mov eax, 1
pop ebx
ret
add dword [esi], 0x200
mov dword [esi + 8], ebx
adc dword [esi + 4], ebx
mov eax, dword [esi + 8]
lea ecx, [eax*8]
add dword [esi], ecx
adc dword [esi + 4], ebx
cmp eax, 0x40
jbe 0x41b795
pop ebp
pop esi
mov eax, 2
pop ebx
ret
mov byte [eax + esi + 0x2c], 0x80
mov ebp, 1
add dword [esi + 8], ebp
mov eax, dword [esi + 8]
mov ebx, 0x38
cmp eax, ebx
jbe 0x41b7e7
mov edx, 0x40
sub edx, eax
push edx
lea eax, [eax + esi + 0x2c]
push 0
push eax
call fcn.0042fdd0
lea eax, [esi + 0x2c]
push esi
mov dword [esi + 8], 0x40
call fcn.0041b960
add esp, 0x10
test eax, eax
je 0x41b7e0
lea eax, [ebp + 2]
pop ebp
pop esi
pop ebx
ret
mov dword [esi + 8], 0
cmp dword [esi + 8], ebx
jae 0x41b800
lea esp, [esp]
mov ecx, dword [esi + 8]
mov byte [ecx + esi + 0x2c], 0
add dword [esi + 8], ebp
cmp dword [esi + 8], ebx
jb 0x41b7f0
movzx eax, byte [esi + 6]
movzx edx, byte [esi + 7]
movzx ecx, byte [esi + 5]
mov byte [esi + 0x65], al
movzx eax, byte [esi + 3]
mov byte [esi + 0x64], dl
movzx edx, byte [esi + 4]
mov byte [esi + 0x68], al
movzx eax, byte [esi]
mov byte [esi + 0x66], cl
movzx ecx, byte [esi + 2]
mov byte [esi + 0x67], dl
movzx edx, byte [esi + 1]
mov byte [esi + 0x6b], al
lea ebp, [esi + 0x2c]
push esi
mov eax, ebp
mov byte [esi + 0x69], cl
mov byte [esi + 0x6a], dl
call fcn.0041b960
add esp, 4
test eax, eax
je 0x41b852
pop ebp
pop esi
mov eax, 4
pop ebx
ret
movzx ecx, byte [esi + 0xc]
mov byte [edi + 3], cl
movzx edx, byte [esi + 0xd]
mov byte [edi + 2], dl
movzx eax, byte [esi + 0xe]
mov byte [edi + 1], al
movzx ecx, byte [esi + 0xf]
mov byte [edi], cl
movzx edx, byte [esi + 0x10]
mov byte [edi + 7], dl
movzx eax, byte [esi + 0x11]
mov byte [edi + 6], al
movzx ecx, byte [esi + 0x12]
mov byte [edi + 5], cl
movzx edx, byte [esi + 0x13]
mov byte [edi + 4], dl
movzx eax, byte [esi + 0x14]
mov byte [edi + 0xb], al
movzx ecx, byte [esi + 0x15]
mov byte [edi + 0xa], cl
movzx edx, byte [esi + 0x16]
mov byte [edi + 9], dl
movzx eax, byte [esi + 0x17]
mov byte [edi + 8], al
movzx ecx, byte [esi + 0x18]
mov byte [edi + 0xf], cl
movzx edx, byte [esi + 0x19]
mov byte [edi + 0xe], dl
movzx eax, byte [esi + 0x1a]
mov byte [edi + 0xd], al
movzx ecx, byte [esi + 0x1b]
mov byte [edi + 0xc], cl
movzx edx, byte [esi + 0x1c]
mov byte [edi + 0x13], dl
movzx eax, byte [esi + 0x1d]
mov byte [edi + 0x12], al
movzx ecx, byte [esi + 0x1e]
mov byte [edi + 0x11], cl
movzx edx, byte [esi + 0x1f]
mov byte [edi + 0x10], dl
movzx eax, byte [esi + 0x20]
mov byte [edi + 0x17], al
movzx ecx, byte [esi + 0x21]
mov byte [edi + 0x16], cl
movzx edx, byte [esi + 0x22]
mov byte [edi + 0x15], dl
movzx eax, byte [esi + 0x23]
mov byte [edi + 0x14], al
movzx ecx, byte [esi + 0x24]
mov byte [edi + 0x1b], cl
movzx edx, byte [esi + 0x25]
mov byte [edi + 0x1a], dl
movzx eax, byte [esi + 0x26]
mov byte [edi + 0x19], al
movzx ecx, byte [esi + 0x27]
mov byte [edi + 0x18], cl
movzx edx, byte [esi + 0x28]
mov byte [edi + 0x1f], dl
movzx eax, byte [esi + 0x29]
mov byte [edi + 0x1e], al
movzx ecx, byte [esi + 0x2a]
mov byte [edi + 0x1d], cl
movzx edx, byte [esi + 0x2b]
push 0x40
push 0
mov byte [edi + 0x1c], dl
push ebp
mov byte [esi + 0xac], 0
call fcn.0042fdd0
push 0x40
push 0
add esi, 0x6c
push esi
call fcn.0042fdd0
add esp, 0x18
pop ebp
pop esi
xor eax, eax
pop ebx
ret
pop esi
mov eax, 1
pop ebx
ret