Function at 0x536e30
Capabilities:
Enumerate pe sections

Disassembly:
push ebx
push esi
add esp, 0xfffffff0
mov ebx, eax
mov dword [ebx + 0x454], 0xffffffff
movzx eax, word [ebx + 0x26]
call fcn.005402cc
mov dword [ebx + 0x184], eax
movzx eax, byte [ebx + 0x1a]
movzx edx, word [ebx + 0x26]
call fcn.0053fb28
mov esi, eax
test esi, esi
je case.0x536e80.12
mov eax, dword [ebx + 0x22c]
add eax, 0xfffffff6
cmp eax, 0x18
ja case.0x536e80.12
movzx eax, byte [eax + 0x536e87]
jmp dword [eax*4 + 0x536ea0]
movzx eax, word [esi + 2]
movzx edx, word [esi + 4]
add eax, edx
movzx edx, byte [ebx + 0x18]
imul edx
movzx edx, word [esi]
add eax, edx
mov dword [ebx + 0x44c], eax
movzx edx, word [esi + 2]
add edx, eax
dec edx
mov dword [ebx + 0x450], edx
movzx eax, word [esi + 6]
mov dword [ebx + 0x478], eax
call sub.kernel32.dll_GetTickCount_1
mov dword [ebx + 0x47c], eax
movzx eax, word [esi + 2]
mov dword [ebx + 0x4a0], eax
push 0
push 1
movzx edx, byte [ebx + 0x18]
xor ecx, ecx
mov eax, ebx
call fcn.005424bc
jmp case.0x536e80.12
movzx eax, word [esi + 0xc]
movzx edx, word [esi + 0xe]
add eax, edx
movzx edx, byte [ebx + 0x18]
imul edx
movzx edx, word [esi + 0xa]
add eax, edx
mov dword [ebx + 0x44c], eax
movzx edx, word [esi + 0xc]
add edx, eax
dec edx
mov dword [ebx + 0x450], edx
movzx eax, word [esi + 0x10]
mov dword [ebx + 0x478], eax
call sub.kernel32.dll_GetTickCount_1
mov dword [ebx + 0x47c], eax
movzx eax, word [esi + 0x12]
mov dword [ebx + 0x484], eax
xor eax, eax
mov dword [ebx + 0x488], eax
mov eax, 1
mov dword [ebx + 0x48c], eax
cmp dword [ebx + 0x22c], 0xb
jne 0x536fa3
push 0
mov edx, dword [ebx + 0x450]
sub edx, dword [ebx + 0x44c]
inc edx
push edx
movzx edx, byte [ebx + 0x18]
mov ecx, eax
mov eax, ebx
call fcn.005424bc
jmp case.0x536e80.12
push 0
mov eax, dword [ebx + 0x450]
sub eax, dword [ebx + 0x44c]
inc eax
push eax
movzx eax, byte [ebx + 0x18]
call fcn.0055a388
mov edx, eax
mov ecx, dword [ebx + 0x48c]
mov eax, ebx
call fcn.005424bc
jmp case.0x536e80.12
movzx eax, word [esi + 0x16]
movzx edx, word [esi + 0x18]
add eax, edx
movzx edx, byte [ebx + 0x18]
imul edx
movzx edx, word [esi + 0x14]
add eax, edx
mov dword [ebx + 0x44c], eax
movzx edx, word [esi + 0x16]
add edx, eax
dec edx
mov dword [ebx + 0x450], edx
movzx eax, word [esi + 0x1a]
mov dword [ebx + 0x478], eax
call sub.kernel32.dll_GetTickCount_1
mov dword [ebx + 0x47c], eax
call sub.kernel32.dll_GetTickCount_1
mov dword [ebx + 0x234], eax
push 0
push 1
movzx edx, byte [ebx + 0x18]
xor ecx, ecx
mov eax, ebx
call fcn.005424bc
mov byte [ebx + 0x196], 1
movzx eax, byte [ebx + 0x18]
mov dword [ebx + 0x538], eax
mov eax, dword [ebx + 0x44c]
mov dword [ebx + 0x468], eax
mov eax, dword [ebx + 0x44c]
mov dword [ebx + 0x464], eax
cmp byte [ebx + 0x1a], 0x14
jne 0x537068
mov eax, dword [ebx + 0x450]
inc eax
mov dword [ebx + 0x46c], eax
jmp 0x537074
mov eax, dword [ebx + 0x450]
mov dword [ebx + 0x46c], eax
call sub.kernel32.dll_GetTickCount_1
mov dword [ebx + 0x470], eax
mov eax, dword [ebx + 0x478]
mov dword [ebx + 0x474], eax
mov eax, dword [0x566ba4]
mov eax, dword [eax]
mov edx, dword [ebx + 0x170]
call fcn.00533078
mov esi, eax
test esi, esi
je 0x5370f8
push esp
lea eax, [esp + 8]
push eax
mov eax, dword [0x566ba4]
mov eax, dword [eax]
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x10]
call fcn.00532438
lea eax, [esp + 8]
push eax
lea eax, [esp + 0x10]
push eax
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x10]
mov eax, dword [0x566ba4]
mov eax, dword [eax]
call fcn.00532438
mov eax, dword [esp + 0xc]
push eax
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov eax, dword [esp + 4]
call fcn.0055a820
mov dword [ebx + 0x53c], eax
jmp case.0x536e80.12
mov eax, dword [ebx + 0x538]
add eax, eax
mov dword [ebx + 0x53c], eax
jmp case.0x536e80.12
movzx eax, word [esi + 0x2a]
movzx edx, word [esi + 0x2c]
add eax, edx
movzx edx, byte [ebx + 0x18]
imul edx
movzx edx, word [esi + 0x28]
add eax, edx
mov dword [ebx + 0x44c], eax
movzx edx, word [esi + 0x2a]
add edx, eax
dec edx
mov dword [ebx + 0x450], edx
mov eax, dword [ebx + 0x494]
mov dword [ebx + 0x478], eax
call sub.kernel32.dll_GetTickCount_1
mov dword [ebx + 0x47c], eax
jmp case.0x536e80.12
movzx eax, word [esi + 0x34]
movzx edx, word [esi + 0x36]
add eax, edx
movzx edx, byte [ebx + 0x18]
imul edx
movzx edx, word [esi + 0x32]
add eax, edx
mov dword [ebx + 0x44c], eax
movzx edx, word [esi + 0x34]
add edx, eax
dec edx
mov dword [ebx + 0x450], edx
mov dword [ebx + 0x44c], edx
movzx eax, word [esi + 0x38]
mov dword [ebx + 0x478], eax
call sub.kernel32.dll_GetTickCount_1
mov dword [ebx + 0x47c], eax
jmp case.0x536e80.12
movzx eax, word [esi + 0x34]
movzx edx, word [esi + 0x36]
add eax, edx
movzx edx, byte [ebx + 0x18]
imul edx
movzx edx, word [esi + 0x32]
add eax, edx
mov dword [ebx + 0x44c], eax
movzx edx, word [esi + 0x34]
add edx, eax
dec edx
mov dword [ebx + 0x450], edx
movzx eax, word [esi + 0x38]
mov dword [ebx + 0x478], eax
call sub.kernel32.dll_GetTickCount_1
mov dword [ebx + 0x47c], eax
movzx eax, byte [ebx + 0x1a]
cmp al, 0x28
je 0x5371f3
cmp al, 0x41
je 0x5371f3
cmp al, 0x42
je 0x5371f3
cmp al, 0x43
je 0x5371f3
cmp al, 0x44
je 0x5371f3
cmp al, 0x45
jne case.0x536e80.12
mov byte [ebx + 0x534], 1
jmp case.0x536e80.12
movzx eax, word [esi + 0x3c]
mov dword [ebx + 0x44c], eax
movzx edx, word [esi + 0x3e]
add edx, eax
dec edx
mov dword [ebx + 0x450], edx
movzx eax, word [esi + 0x42]
mov dword [ebx + 0x478], eax
call sub.kernel32.dll_GetTickCount_1
mov dword [ebx + 0x47c], eax
add esp, 0x10
pop esi
pop ebx
ret