Function at 0x41f3d0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x7c
mov ax, word [esp + 0x84]
push esi
cmp ax, 1
push edi
mov dword [esp + 0x10], 0
jl 0x41f6b0
cmp ax, 0x5a
jg 0x41f6b0
mov edi, dword [esp + 0x90]
push 2
movsx esi, ax
push edi
dec esi
call fcn.0041e850
add esp, 8
mov dword [esp + 0xc], eax
cmp eax, 1
jl 0x41f41d
cmp eax, 0x1e
jle 0x41f447
push 1
push edi
call fcn.0041e950
add esp, 8
cmp word [edi + 0x640], 0
jle 0x41f6b0
push 2
push edi
call fcn.0041e850
add esp, 8
mov dword [esp + 0xc], eax
jmp 0x41f413
push ebx
lea ebx, [eax - 1]
lea eax, [esi + esi*8]
push ebp
mov ebp, dword [esp + 0x90]
shl eax, 4
add eax, ebp
movsx ecx, word [eax]
dec ecx
cmp ebx, ecx
jle 0x41f469
lea edx, [ebx + 1]
mov word [eax], dx
add edi, 3
lea eax, [edi - 3]
push 2
push eax
mov dword [esp + 0x18], edi
call fcn.0041e850
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp ecx, eax
jne 0x41f691
lea eax, [edi - 1]
push 1
push eax
call fcn.0041e850
add esp, 8
cmp eax, 1
jne 0x41f4ff
mov eax, dword [esp + 0x10]
lea ecx, [esi + esi*8]
push 3
lea edx, [ebx + ecx*4]
mov ecx, dword [ebp + edx*4 + 0x18]
lea edi, [ebp + edx*4 + 0x18]
mov edx, dword [eax]
mov dword [ecx], edx
mov al, byte [eax + 4]
mov byte [ecx + 4], al
mov ecx, dword [esp + 0x14]
lea eax, [ecx - 1]
add eax, 6
push eax
call fcn.0041e850
mov edx, dword [edi]
add esp, 8
mov word [edx + 0x30], ax
mov edx, dword [esp + 0x10]
mov ecx, dword [edi]
mov edi, edx
lea eax, [edx - 1]
mov al, byte [edx + 8]
mov byte [ecx + 0x32], al
mov ecx, dword [esp + 0x18]
inc ecx
mov word [0xa454b0], 0
mov dword [esp + 0x18], ecx
add edi, 0x10
jmp 0x41f46c
cmp eax, 2
jl 0x41f548
cmp eax, 4
jg 0x41f548
lea ecx, [esi + esi*8]
lea edx, [ebx + ecx*4]
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp + edx*4 + 0x18]
lea edx, [ecx + eax - 0x10]
mov eax, edi
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov cx, word [eax + 8]
mov word [edx + 8], cx
mov ecx, dword [esp + 0x18]
mov al, byte [eax + 0xa]
inc ecx
mov byte [edx + 0xa], al
mov dword [esp + 0x18], ecx
add edi, 0x10
jmp 0x41f46c
cmp eax, 5
jne 0x41f57f
lea ecx, [esi + esi*8]
lea edx, [ebx + ecx*4]
mov ecx, edi
mov eax, dword [ebp + edx*4 + 0x18]
mov edx, dword [ecx]
add eax, 0x27
mov dword [eax], edx
mov dx, word [ecx + 4]
mov word [eax + 4], dx
mov cl, byte [ecx + 6]
mov byte [eax + 6], cl
mov ecx, dword [esp + 0x18]
inc ecx
add edi, 0x10
mov dword [esp + 0x18], ecx
jmp 0x41f46c
cmp byte [edi - 1], 0x41
jne 0x41f680
mov eax, edi
mov edx, dword [eax]
mov dword [esp + 0x28], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x2c], ecx
mov cx, word [eax + 8]
mov word [esp + 0x30], cx
mov cl, byte [eax + 0xa]
mov ax, word [0xa454b0]
test ax, ax
jne 0x41f5de
lea eax, [esi + esi*8]
lea eax, [ebx + eax*4]
mov edi, dword [ebp + eax*4 + 0x18]
lea eax, [ebp + eax*4 + 0x18]
mov dword [edi + 0x42], edx
mov edx, dword [eax]
mov di, word [esp + 0x2c]
mov word [edx + 0x47], di
mov edx, dword [eax]
mov edi, dword [esp + 0x2e]
mov dword [edx + 0x4a], edi
mov eax, dword [eax]
mov byte [eax + 0x4f], cl
jmp 0x41f675
cmp ax, 1
jne 0x41f628
lea edx, [esi + esi*8]
lea eax, [ebx + edx*4]
mov dl, byte [esp + 0x28]
mov edi, dword [ebp + eax*4 + 0x18]
lea eax, [ebp + eax*4 + 0x18]
mov byte [edi + 0x50], dl
mov edx, dword [eax]
mov di, word [esp + 0x29]
mov word [edx + 0x52], di
mov edx, dword [eax]
mov di, word [esp + 0x2b]
mov word [edx + 0x55], di
mov edx, dword [eax]
mov edi, dword [esp + 0x2d]
mov dword [edx + 0x58], edi
mov edi, dword [eax]
mov dl, byte [esp + 0x31]
mov byte [edi + 0x5d], dl
mov eax, dword [eax]
mov byte [eax + 0x5f], cl
jmp 0x41f675
cmp ax, 2
jne 0x41f679
lea edx, [esi + esi*8]
lea eax, [ebx + edx*4]
mov edx, dword [ebp + eax*4 + 0x18]
add edx, 0x60
lea edi, [ebp + eax*4 + 0x18]
mov ax, word [esp + 0x28]
mov word [edx], ax
mov al, byte [esp + 0x2a]
mov byte [edx + 2], al
xor edx, edx
mov dword [esp + 0x1c], edx
lea eax, [esp + 0x1c]
mov dword [esp + 0x20], edx
push eax
mov word [esp + 0x28], dx
mov byte [esp + 0x20], cl
call dword [sym.imp.MSVCRT.dll_atoi]
mov ecx, dword [edi]
add esp, 4
mov word [ecx + 0x64], ax
mov edi, dword [esp + 0x10]
inc word [0xa454b0]
mov ecx, dword [esp + 0x18]
inc ecx
add edi, 0x10
mov dword [esp + 0x18], ecx
jmp 0x41f46c
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x98]
push edx
push eax
call fcn.0041e950
add esp, 8
xor eax, eax
pop ebp
pop ebx
pop edi
pop esi
add esp, 0x7c
ret
pop edi
or eax, 0xffffffff
pop esi
add esp, 0x7c
ret