Function at 0x52e460
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push edi
mov edi, ecx
push esi
push ebx
sub esp, 0x4c
movzx ebp, word [edi + 0x1a]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
sar bp, 5
mov esi, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
movsx edx, bp
mov dword [esp + 0x34], eax
sar eax, 5
mov dword [esp + 0x28], edx
movzx edx, word [edi + 0x1c]
mov dword [esp + 0x2c], ecx
sar ecx, 5
sar dx, 5
mov dword [esp + 0x3c], eax
mov word [esp + 0x22], dx
movsx edx, dx
mov dword [esp + 0x30], edx
mov dword [esp + 0x38], ecx
cmp dword [esp + 0x28], eax
jne 0x52e4d0
cmp edx, ecx
jne 0x52e4d0
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
mov ecx, edi
call fcn.004de300
test eax, eax
je 0x52e786
test ebx, ebx
jne 0x52e580
movsx ebx, word [esp + 0x38]
mov eax, dword [0x59ad30]
movsx ecx, word [esp + 0x3c]
imul eax, ebx
mov dword [esp + 0x1c], ecx
add eax, ecx
imul eax, eax, 0xe
add eax, dword [0x5b39d0]
mov ecx, eax
movsx eax, byte [edi + 8]
cmp al, 0x4c
je 0x52e77b
cmp al, 0x53
je 0x52e55f
cmp al, 0x41
je 0x52e569
mov eax, dword [edi + 0x1a]
mov ecx, edi
mov dword [edi + 0x12], eax
mov eax, dword [edi]
mov dword [esp], 0
call dword [eax + 0x2c]
movzx eax, byte [edi + 0x34]
sub esp, 4
or al, byte [0x5c9800]
je 0x52e79c
add byte [edi + 0x33], 1
mov byte [edi + 9], 4
mov byte [edi + 0xb], 1
mov byte [edi + 0x34], 0
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
movzx edx, word [ecx]
and edx, 2
test edx, edx
je 0x52e51e
mov dword [esp], eax
mov dword [esp + 0x24], ecx
call fcn.00498de0
sub esp, 4
test eax, eax
jne 0x52e7c3
test esi, esi
je 0x52e58b
add word [edi + 0x81], si
movzx eax, word [esp + 0x34]
mov ecx, dword [edi + 0x1e]
xor edx, edx
mov word [esp + 0x1c], dx
mov ebx, dword [0x5b39d0]
mov word [edi + 0x1a], ax
movzx eax, word [esp + 0x2c]
mov word [edi + 0x1c], ax
xor eax, eax
mov word [edi + 0x34], ax
mov eax, dword [0x59ad30]
cmp word [ecx + 0x10], 0
mov dword [esp + 0x24], eax
jle 0x52e6c4
lea esi, [esi]
nop
movzx esi, word [esp + 0x22]
add si, word [esp + 0x1c]
cmp word [ecx + 0xe], 0
jle 0x52e620
movsx esi, si
imul esi, dword [esp + 0x24]
xor edx, edx
jmp 0x52e5ff
mov word [eax + 4], 0
add edx, 1
cmp word [ecx + 0xe], dx
jle 0x52e620
lea eax, [ebp + edx]
cwde
add eax, esi
imul eax, eax, 0xe
add eax, ebx
cmp byte [edi + 8], 0x41
jne 0x52e5f0
mov word [eax + 6], 0
add edx, 1
cmp word [ecx + 0xe], dx
jg 0x52e5ff
add word [esp + 0x1c], 1
movzx eax, word [ecx + 0x10]
movzx esi, word [esp + 0x1c]
cmp ax, si
jg 0x52e5d0
movzx esi, word [esp + 0x2c]
sar si, 5
mov word [esp + 0x2c], si
test ax, ax
jle 0x52e6c4
movzx eax, word [esp + 0x34]
sar ax, 5
mov word [esp + 0x1c], ax
xor eax, eax
mov word [esp + 0x22], ax
lea esi, [esi]
movzx ebp, word [esp + 0x2c]
add bp, word [esp + 0x22]
cmp word [ecx + 0xe], 0
jle 0x52e6b3
movsx ebp, bp
imul ebp, dword [esp + 0x24]
xor edx, edx
jmp 0x52e68d
mov word [eax + 4], si
add edx, 1
cmp word [ecx + 0xe], dx
jle 0x52e6b3
movzx eax, word [esp + 0x1c]
movzx esi, word [edi + 6]
add eax, edx
cwde
add eax, ebp
imul eax, eax, 0xe
add eax, ebx
cmp byte [edi + 8], 0x41
jne 0x52e680
mov word [eax + 6], si
add edx, 1
cmp word [ecx + 0xe], dx
jg 0x52e68d
add word [esp + 0x22], 1
movzx eax, word [esp + 0x22]
cmp word [ecx + 0x10], ax
jg 0x52e660
cmp byte [0x5b44ed], 0
jne 0x52e4bc
mov ecx, edi
call fcn.0050a720
test eax, eax
je 0x52e4bc
mov ecx, dword [esp + 0x3c]
mov eax, 0xa
mov ebx, dword [esp + 0x38]
cmp ecx, eax
lea esi, [ecx + 0xa]
cmovge eax, ecx
mov ecx, edi
sub eax, 0xa
mov dword [esp + 0x1c], eax
mov eax, 0xa
cmp ebx, eax
cmovge eax, ebx
lea ebp, [eax - 0xa]
mov eax, dword [0x59ad30]
cmp esi, eax
lea edx, [eax - 1]
mov eax, dword [0x59ad2c]
cmovge esi, edx
add ebx, 0xa
lea edx, [eax - 1]
cmp ebx, eax
cmovge ebx, edx
call fcn.004deae0
lea edi, [eax - 1]
mov eax, dword [esp + 0x38]
cmp dword [esp + 0x30], eax
jg 0x52e804
jl 0x52e82d
mov ecx, dword [esp + 0x3c]
cmp dword [esp + 0x28], ecx
jg 0x52e7e8
jge 0x52e4bc
mov dword [esp + 0x68], esi
sub esi, edi
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x64], ebp
mov dword [esp + 0x60], esi
add esp, 0x4c
mov ecx, 0x5b39c8
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0054b480
movzx edx, word [ecx]
and edx, 1
jmp 0x52e565
add byte [edi + 0x33], 1
mov byte [edi + 9], 4
mov byte [edi + 0xb], 1
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
mov eax, dword [0x59ad30]
mov ecx, edi
imul eax, ebx
add eax, dword [esp + 0x1c]
imul eax, eax, 0xe
add eax, dword [0x5b39d0]
mov dword [esp], eax
call fcn.0052e0c0
sub esp, 4
jmp 0x52e4bc
cmp byte [edi + 8], 0x41
mov ecx, dword [esp + 0x24]
je 0x52e7e2
movsx eax, word [ecx + 4]
movsx edx, word [edi + 6]
cmp edx, eax
jne 0x52e51e
jmp 0x52e580
movsx eax, word [ecx + 6]
jmp 0x52e7d1
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x64], ebp
lea eax, [ebx + edi]
mov dword [esp + 0x60], ebx
mov dword [esp + 0x68], eax
jmp 0x52e76a
lea edx, [ebp + edi]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x1c]
mov ecx, 0x5b39c8
mov dword [esp], eax
call fcn.0054b480
sub esp, 0x10
jmp 0x52e744
mov edx, ebx
mov dword [esp + 0xc], ebx
sub edx, edi
mov dword [esp + 8], esi
mov dword [esp + 4], edx
jmp 0x52e814