Function at 0x54c850
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x54cad4
sub esp, 0x28
mov ecx, dword [esp + 0x34]
cmp ecx, 8
jl 0x54cab6
mov edx, dword [esp + 0x30]
movzx ebx, byte [edx]
shl ebx, 8
movzx ebp, byte [edx + 1]
or ebp, ebx
mov ebx, dword [esp + 0x2c]
mov word [ebx], bp
movzx ebp, byte [edx + 2]
shl ebp, 8
movzx esi, byte [edx + 3]
or esi, ebp
mov word [ebx + 2], si
movzx ebp, byte [edx + 4]
shl ebp, 8
movzx esi, byte [edx + 5]
or esi, ebp
add ecx, 0xfffffffa
cmp ecx, esi
jl 0x54caad
mov ebp, dword [esp + 0x38]
add ebp, 0xfffffffa
cmp esi, ebp
ja 0x54cacd
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], ebp
lea eax, [edx + 6]
mov edi, edx
mov edx, dword [0x7db370]
test edx, edx
jne 0x54ca9a
mov dword [ebx + 4], eax
cmp esi, ecx
ja 0x54cac6
sub ecx, esi
sub ebp, esi
mov eax, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, esi
lea edx, [edi + ebp + 6]
cmp ecx, 2
jl 0x54ca91
mov dword [esp + 0x34], ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x30], edx
movzx eax, byte [edi + ebp + 6]
movzx ecx, byte [edi + ebp + 7]
lea edx, [0x5d2f60]
mov dword [esp], edx
shl eax, 8
or eax, ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00437b80
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x2c]
mov dword [ebx + 0x14], ecx
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x1c]
add eax, 0xfffffffe
mov ebp, eax
neg eax
sar eax, 0x1f
and eax, 2
mov esi, dword [esp + 0x30]
add eax, esi
mov esi, dword [0x7db370]
test esi, esi
jne 0x54ca7e
mov dword [ebx + 0x10], edx
mov edx, dword [esp + 0x34]
add edx, 0xfffffffe
xor esi, esi
jmp 0x54c99a
mov eax, dword [esp + 0x18]
lea esi, [eax + 1]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
mov ecx, edi
mov ebx, eax
mov eax, ebp
mov ebp, dword [esp + 0x38]
cmp esi, ecx
jge 0x54ca71
cmp edx, 4
jl 0x54ca68
mov dword [esp + 0x18], esi
mov edi, ecx
movzx ecx, byte [eax]
shl ecx, 0x18
movzx esi, byte [eax + 1]
shl esi, 0x10
or esi, ecx
movzx ecx, byte [eax + 2]
shl ecx, 8
or ecx, esi
movzx esi, byte [eax + 3]
or esi, ecx
lea ecx, [ebp - 4]
mov ebp, ecx
neg ecx
sar ecx, 0x1f
and ecx, 4
add eax, ecx
test esi, esi
jl 0x54ca5f
lea ecx, [edx - 4]
cmp ecx, esi
jl 0x54ca56
mov dword [esp + 0x34], ecx
mov edx, dword [ebx + 0x10]
mov ebx, dword [ebx + 0x14]
mov ecx, dword [esp + 0x18]
cmp ecx, ebx
jae 0x54cabf
mov dword [esp + 0x24], edx
lea ebx, [ecx + ecx*2]
mov dword [edx + ebx*4 + 4], esi
mov dword [edx + ebx*4 + 8], ebp
mov ecx, dword [0x7db370]
lea edx, [edx + ebx*4]
mov dword [esp + 0x20], edx
sub ebp, esi
mov dword [esp + 0x38], ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, esi
add ebp, eax
mov edx, dword [esp + 0x34]
sub edx, esi
test ecx, ecx
jne 0x54ca44
mov ecx, dword [esp + 0x24]
mov dword [ecx + ebx*4], eax
jmp 0x54c981
mov ecx, edi
mov edi, dword [esp + 0x20]
call fcn.0044b680
mov edi, ecx
jmp 0x54c981
mov byte [esp + 0x3c], 0
add esp, 0x28
ret
mov byte [esp + 0x3c], 0
add esp, 0x28
ret
mov byte [esp + 0x3c], 0
add esp, 0x28
ret
test edx, edx
sete al
mov byte [esp + 0x3c], al
add esp, 0x28
ret
lea edi, [ebx + 0x10]
mov esi, eax
mov eax, edx
call fcn.0044b680
mov eax, esi
jmp 0x54c976
mov byte [esp + 0x3c], 0
add esp, 0x28
ret
lea edx, [ebx + 4]
mov edi, edx
call fcn.0044b680
mov edi, dword [esp + 0x30]
jmp 0x54c8e1
mov byte [esp + 0x3c], 0
add esp, 0x28
ret
mov byte [esp + 0x3c], 0
add esp, 0x28
ret
call fcn.004258a0
ud2
call fcn.004259a0
ud2
call fcn.004259a0
ud2
call fcn.00449f20
jmp fcn.0054c850