Function at 0x56ebf0
Capabilities:
Enumerate pe sections

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x72f157
push eax
mov dword fs:[0], esp
push ebx
push ebp
push esi
mov esi, dword [esp + 0x1c]
mov eax, dword [esi]
dec eax
cmp eax, 4
push edi
ja case.default.0x56ec19
jmp dword [eax*4 + 0x56ee98]
push 0x5c
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x20], eax
xor edi, edi
cmp eax, edi
mov dword [esp + 0x18], edi
je 0x56ec4d
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
push ecx
mov ecx, dword [esi + 4]
push edx
push ecx
mov ecx, eax
call fcn.005341e0
mov edi, eax
mov ebx, dword [esp + 0x24]
push ebx
mov ecx, edi
mov dword [esp + 0x1c], 0xffffffff
call fcn.004f5380
mov dl, byte [esi + 0x10]
mov byte [edi + 0x32], dl
jmp 0x56ee74
push 0x98
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x18], 1
je 0x56ec94
mov ecx, eax
call fcn.00533270
mov edi, eax
jmp 0x56ec96
xor edi, edi
xor eax, eax
mov ax, word [esi + 4]
mov dword [esp + 0x18], 0xffffffff
test eax, eax
je 0x56ecad
mov dword [edi + 0x1c], eax
jmp 0x56ecb4
mov dword [edi + 0x1c], 0
movzx ax, byte [esi + 6]
mov word [edi + 0x18], ax
movsx ax, byte [esi + 7]
test ax, ax
je 0x56eccf
and eax, 0xffff
mov dword [edi + 0x20], eax
mov cl, byte [esi + 0x10]
mov ebx, dword [esp + 0x24]
mov byte [edi + 0x32], cl
push ebx
mov ecx, edi
call fcn.004f5380
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0xcc]
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], 1
lea ebp, [esi + 8]
jmp 0x56ecfd
mov eax, dword [esp + 0x20]
test eax, eax
mov esi, dword [esp + 0x24]
je 0x56ed19
push esi
mov ecx, eax
call fcn.00470a50
test al, al
je 0x56ed19
xor eax, eax
mov al, byte [ebp]
push eax
jmp 0x56ed1b
push 0
push esi
mov ecx, edi
call fcn.00533bb0
mov al, byte [esp + 0x24]
inc al
inc ebp
cmp al, 8
mov byte [esp + 0x24], al
jbe 0x56ecf9
jmp 0x56ee74
push 0x50
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x18], 2
je 0x56ed5c
mov ecx, eax
call fcn.00534a40
mov edi, eax
jmp 0x56ed5e
xor edi, edi
movzx cx, byte [esi + 0x10]
mov word [edi + 0x18], cx
lea ebx, [esi + 4]
push ebx
mov ecx, edi
mov dword [esp + 0x1c], 0xffffffff
call fcn.00535790
push ebx
mov ecx, edi
call fcn.00532f70
mov edx, dword [esi + 0x18]
push edx
mov ecx, edi
call fcn.005357e0
mov ebx, dword [esp + 0x24]
push ebx
mov ecx, edi
call fcn.004f5380
mov eax, dword [esi + 0x14]
push eax
mov ecx, edi
call fcn.00534d40
mov cl, byte [esi + 0x1c]
mov byte [edi + 0x32], cl
jmp 0x56ee74
push 0x68
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x18], 3
je 0x56edd4
mov ecx, eax
call fcn.00535420
mov edi, eax
jmp 0x56edd6
xor edi, edi
movzx dx, byte [esi + 0x10]
lea ebx, [esi + 4]
push ebx
mov ecx, edi
mov dword [esp + 0x1c], 0xffffffff
mov word [edi + 0x18], dx
call fcn.00535790
push ebx
mov ecx, edi
call fcn.00532f70
mov eax, dword [esi + 0x18]
test eax, eax
je 0x56ee09
push eax
mov ecx, edi
call fcn.005357e0
mov ebx, dword [esp + 0x24]
push ebx
mov ecx, edi
call fcn.004f5380
mov eax, dword [esi + 0x14]
push eax
mov ecx, edi
call fcn.005356e0
mov cl, byte [esi + 0x1c]
mov byte [edi + 0x32], cl
jmp 0x56ee74
push 0x54
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x18], 4
je 0x56ee4d
mov ecx, eax
call fcn.005361c0
mov edi, eax
jmp 0x56ee4f
xor edi, edi
mov ebx, dword [esp + 0x24]
push ebx
mov ecx, edi
mov dword [esp + 0x1c], 0xffffffff
call fcn.004f5380
mov edx, dword [esi + 4]
push edx
mov ecx, edi
call fcn.00536290
mov al, byte [esi + 8]
mov byte [edi + 0x32], al
mov ecx, dword [ebx + 0xc8]
push edi
call fcn.00564d10
mov ecx, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xc
ret 8