Function at 0x41b4a0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0xc
push ebx
push esi
mov esi, dword [esp + 0x18]
push edi
push ebp
test esi, esi
je 0x41b4df
push 0xffffffffffffffff
call fcn.0041ab50
mov dword [esp + 0x14], eax
add esp, 4
test eax, eax
jne 0x41b4cb
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xc
ret
mov eax, dword [esi + 6]
mov ecx, dword [esp + 0x10]
mov ebp, ecx
mov dword [ecx + 6], eax
mov edx, dword [esi + 0xa]
mov dword [ecx + 0xa], edx
jmp 0x41b4e5
xor ebp, ebp
mov dword [esp + 0x10], ebp
cmp dword [esp + 0x24], 0
je 0x41b4f2
mov eax, dword [esp + 0x28]
jmp 0x41b4f7
call fcn.0041e450
lea ecx, [eax + eax*4]
lea edx, [ecx + ecx*4]
mov ecx, dword [0x42fd2c]
lea esi, [edx + eax]
add ecx, esi
cmp word [ecx + 2], 0x1a
jne 0x41b520
mov dword [esp + 0x14], 1
mov edx, dword [ecx + 8]
mov word [ecx + 2], dx
jmp 0x41b528
mov dword [esp + 0x14], 0
mov ecx, dword [0x42fd2c]
cmp word [ecx + esi + 2], 0
je 0x41b7df
lea ecx, [eax + eax*4]
lea edx, [ecx + ecx*4]
lea esi, [edx + eax]
mov eax, dword [0x42fd2c]
mov di, word [eax + esi + 2]
test di, 0x1000
je 0x41b7df
mov cx, di
and cx, 0x1ff
mov bx, 0xa
mov ax, cx
cwd
idiv bx
cmp ax, 0x14
jne 0x41b588
movsx eax, di
test di, di
jl 0x41b581
add eax, 0x1388
jmp 0x41b58b
sub eax, 0x1388
jmp 0x41b58b
movsx eax, cx
push eax
call fcn.0041ab50
add esp, 4
mov ebx, eax
test ebx, ebx
je 0x41b7f2
mov eax, dword [0x42fd2c]
mov ax, word [eax + esi + 2]
cmp ax, 0x1803
je 0x41b5b4
cmp ax, 0x1804
jne 0x41b5ca
and ax, 0xf
neg ax
mov word [ebx + 4], ax
mov ecx, dword [0x42fd2c]
and byte [ecx + esi + 3], 0xf7
mov eax, dword [0x42fd2c]
test byte [eax + esi + 3], 0x40
je 0x41b5dc
add word [ebx + 4], 0x3e8
mov ecx, dword [0x42fd2c]
add ecx, esi
mov di, word [ecx + 2]
test di, 0x800
je 0x41b619
mov ax, word [ebx + 4]
neg ax
mov word [ebx + 4], ax
mov ecx, dword [0x42fd2c]
mov edx, dword [ecx + esi + 4]
mov dword [ebx + 6], edx
mov ecx, dword [0x42fd2c]
mov eax, dword [ecx + esi + 8]
mov dword [ebx + 0xa], eax
jmp 0x41b77f
mov word [esp + 0x18], 0xa
mov ax, di
and ax, 0x1ff
cwd
idiv word [esp + 0x18]
movsx edx, ax
cmp edx, 0x24
ja case.0x41b63e.13
xor eax, eax
mov al, byte [edx + 0x41b860]
jmp dword [eax*4 + 0x41b828]
push ebx
call fcn.0041ab90
add esp, 4
xor ebx, ebx
jmp 0x41b77f
mov di, word [ebx + 4]
cmp di, 0x3ec
je 0x41b6a7
mov word [esp + 0x18], 0xa
mov ax, di
cwd
idiv word [esp + 0x18]
cmp ax, 0x1f
je 0x41b6a7
cmp di, 0xfffd
je 0x41b77f
cmp dword [esp + 0x14], 0
je 0x41b693
mov eax, dword [ecx + 4]
mov dword [ebx + 6], eax
jmp 0x41b77f
add ecx, 4
push ecx
call fcn.0041e710
add esp, 4
mov dword [ebx + 6], eax
jmp 0x41b77f
mov ax, word [ecx + 4]
mov word [ebx + 6], ax
mov ecx, dword [0x42fd2c]
movsx edx, word [ecx + esi + 4]
push edx
call fcn.00420d06
add esp, 4
mov edi, eax
mov dword [ebx + 8], eax
test edi, edi
je 0x41b810
mov ecx, dword [0x42fd2c]
movsx eax, word [ebx + 6]
lea esi, [ecx + esi + 6]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x41b77f
mov eax, dword [ecx + 8]
mov dword [ebx + 0xa], eax
mov ecx, dword [ecx + 4]
mov dword [ebx + 6], ecx
mov eax, dword [0x42fd2c]
test di, 0x2000
mov edx, dword [eax + esi + 0x10]
mov dword [ebx + 0x12], edx
mov ecx, dword [eax + esi + 0xc]
mov dword [ebx + 0xe], ecx
je 0x41b72c
mov eax, dword [0x42fd2c]
mov edx, dword [eax + esi + 0x18]
mov dword [ebx + 0x1a], edx
mov ecx, dword [eax + esi + 0x14]
mov dword [ebx + 0x16], ecx
jmp 0x41b77f
mov dword [ebx + 0x16], 0
mov dword [ebx + 0x1a], 0
jmp 0x41b77f
mov eax, dword [ecx + 8]
mov dword [ebx + 0xa], eax
mov ecx, dword [ecx + 4]
mov dword [ebx + 6], ecx
jmp 0x41b77f
cmp word [ebx + 4], 0x42f
jne 0x41b75a
mov eax, dword [ecx + 4]
mov dword [ebx + 6], eax
jmp 0x41b77f
mov ax, word [ecx + 4]
mov word [ebx + 6], ax
jmp 0x41b77f
mov eax, dword [ecx + 4]
mov dword [ebx + 6], eax
jmp 0x41b77f
mov eax, dword [ecx + 4]
mov dword [ebx + 6], eax
mov ecx, dword [0x42fd2c]
mov edx, dword [ecx + esi + 8]
mov dword [ebx + 0xa], edx
test ebx, ebx
je 0x41b797
cmp dword [esp + 0x10], 0
jne 0x41b78e
mov dword [esp + 0x10], ebx
test ebp, ebp
je 0x41b795
mov dword [ebp], ebx
mov ebp, ebx
call fcn.0041e450
lea ecx, [eax + eax*4]
lea edx, [ecx + ecx*4]
mov ecx, dword [0x42fd2c]
lea esi, [edx + eax]
add ecx, esi
cmp word [ecx + 2], 0x1a
jne 0x41b7c5
mov dword [esp + 0x14], 1
mov edx, dword [ecx + 8]
mov word [ecx + 2], dx
jmp 0x41b7cd
mov dword [esp + 0x14], 0
mov ecx, dword [0x42fd2c]
cmp word [ecx + esi + 2], 0
jne 0x41b53a
dec word [0x431af0]
mov eax, dword [esp + 0x10]
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xc
ret
cmp dword [esp + 0x10], 0
je 0x41b806
mov ecx, dword [esp + 0x10]
push ecx
call fcn.0041ab90
add esp, 4
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xc
ret
push str.Internal_Error:_Out_of_memory_n
call fcn.0041d510
add esp, 4
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xc
ret