Function at 0x4188b0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x10
push esi
mov esi, dword [esp + 0x1c]
test esi, esi
jne 0x4188ec
mov eax, dword [ecx + 0xc]
push eax
push 0x4d7c44
push 0xe7
push 0x4d7960
push str.Item::CArrayContainer::SetItem
push 5
push 0x50ef58
call fcn.00408780
add esp, 0x1c
xor al, al
pop esi
add esp, 0x10
ret 8
mov eax, dword [esp + 0x18]
mov esi, dword [esi + 4]
push ebx
mov bl, ah
and bl, 0xf
mov dl, al
shr dl, 4
mov byte [esp + 0xa], bl
mov bl, byte [esi + 5]
push ebp
movzx ebp, byte [ecx + 0x14]
and dl, 0xf
mov byte [esp + 0xf], bl
mov bl, byte [esi + 6]
movzx esi, byte [esp + 0xf]
push edi
movzx edi, dl
shr eax, 0xc
lea edx, [edi + esi]
and al, 0xf
cmp ebp, edx
mov byte [esp + 0x11], bl
mov dword [esp + 0x18], edx
jb 0x418a8c
movzx edx, byte [esp + 0x12]
movzx ebx, bl
add ebx, edx
mov dword [esp + 0x1c], edx
movzx edx, byte [ecx + 0x15]
cmp edx, ebx
jb 0x418a8c
cmp byte [ecx + 0x16], al
jbe 0x418a8c
movzx edx, byte [ecx + 0x14]
movzx esi, al
movzx eax, byte [ecx + 0x17]
mov ebp, edx
imul eax, esi
imul ebp, ebx
add ebp, eax
mov dword [esp + 0x14], esi
mov esi, dword [ecx + 4]
lea ebx, [esi + ebp*4]
mov ebp, dword [esp + 0x1c]
imul edx, ebp
add edx, eax
lea edx, [esi + edx*4]
cmp edx, ebx
je 0x4189bb
jmp 0x418990
mov eax, dword [esp + 0x18]
lea esi, [edx + eax*4]
lea eax, [edx + edi*4]
cmp eax, esi
je 0x4189b0
mov edi, edi
cmp dword [eax], 0
jne 0x418a52
add eax, 4
cmp eax, esi
jne 0x4189a0
movzx eax, byte [ecx + 0x14]
lea edx, [edx + eax*4]
cmp edx, ebx
jne 0x418990
movzx eax, byte [ecx + 0x14]
movzx edx, byte [ecx + 0x17]
imul edx, dword [esp + 0x14]
mov esi, ebp
imul esi, eax
mov eax, dword [ecx + 4]
add edx, esi
lea edx, [eax + edx*4]
cmp edx, ebx
je 0x418a0b
lea esp, [esp]
mov eax, dword [esp + 0x18]
lea esi, [edx + eax*4]
lea eax, [edx + edi*4]
cmp eax, esi
je 0x418a00
mov edi, edi
mov ebp, dword [ecx + 8]
mov dword [eax], ebp
add eax, 4
cmp eax, esi
jne 0x4189f0
mov ebp, dword [esp + 0x1c]
movzx eax, byte [ecx + 0x14]
lea edx, [edx + eax*4]
cmp edx, ebx
jne 0x4189e0
movzx edx, byte [ecx + 0x17]
movzx eax, byte [ecx + 0x14]
imul edx, dword [esp + 0x14]
mov ecx, dword [ecx + 4]
imul eax, ebp
add edx, edi
add eax, edx
mov edx, dword [esp + 0x28]
mov dword [ecx + eax*4], edx
mov ecx, dword [esp + 0x24]
mov eax, ecx
and eax, 0xf
cmp ax, 0xa
je 0x418a42
cmp ax, 6
mov word [edx + 0x12], cx
je 0x418a46
mov word [edx + 0x16], cx
pop edi
pop ebp
pop ebx
mov al, 1
pop esi
add esp, 0x10
ret 8
mov edx, dword [esp + 0x14]
mov eax, dword [ecx + 0xc]
push edx
push ebp
push edi
push eax
push str.CID:0x_08x___d__d__d_
push 0x108
push 0x4d7960
push str.Item::CArrayContainer::SetItem
push 5
push 0x50ef58
call fcn.00408780
add esp, 0x28
pop edi
pop ebp
pop ebx
xor al, al
pop esi
add esp, 0x10
ret 8
movzx edx, byte [esp + 0x11]
push edx
movzx edx, byte [ecx + 0x16]
push esi
push edx
movzx edx, byte [ecx + 0x15]
mov ecx, dword [ecx + 0xc]
movzx eax, al
push eax
movzx eax, byte [esp + 0x22]
push edx
push eax
push ebp
push edi
push ecx
push 0x4d7b88
push 0xf6
push 0x4d7960
push str.Item::CArrayContainer::SetItem
push 5
push 0x50ef58
call fcn.00408780
add esp, 0x3c
pop edi
pop ebp
pop ebx
xor al, al
pop esi
add esp, 0x10
ret 8