Function at 0x52a7c0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x10
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
push ebx
push ebp
mov ebp, dword [esp + 0x34]
push esi
mov esi, dword [esp + 0x30]
push edi
mov edi, dword [esp + 0x38]
mov dword [esp + 0x10], eax
add eax, edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x14], esi
add esi, ebp
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0x1c], esi
mov esi, dword [eax + 0x1c]
cmp esi, 3
je 0x52a8be
cmp esi, 2
je 0x52a8be
mov esi, dword [esp + 0x28]
test esi, esi
push 0
push 0
push 0
push 0
push 0
mov ebx, eax
mov eax, dword [eax + 0x18]
push eax
mov eax, dword [esp + 0x60]
push eax
push 0
lea eax, [esp + 0x30]
push eax
push edx
push ecx
je 0x52a878
mov ecx, dword [esi + 0x430]
mov edx, dword [esi + 0x434]
push esi
mov esi, dword [esp + 0x54]
mov eax, dword [esi + 0x430]
push ecx
mov ecx, dword [esi + 0x434]
push edx
mov edx, dword [ebx + 0x14]
push esi
push eax
mov eax, dword [ebx + 0xc]
push ecx
mov ecx, dword [edi + 0xc]
push edx
push eax
push ecx
call fcn.005217b0
add esp, 0x50
test eax, eax
jl 0x52af60
jmp 0x52a902
mov esi, dword [esp + 0x50]
mov ecx, dword [esi + 0x430]
mov edx, dword [esi + 0x434]
mov eax, dword [ebx + 0x14]
push 0
push 0
push 0
push esi
push ecx
mov ecx, dword [ebx + 0xc]
push edx
mov edx, dword [edi + 0xc]
push eax
push ecx
push edx
call fcn.005217b0
add esp, 0x50
test eax, eax
jl 0x52af60
mov ecx, dword [edi + 0x14]
cmp dword [ecx + 0x20], 1
jne 0x52a902
add eax, 1
mov dword [ecx + 0x24], eax
jmp 0x52a902
push 0
push 0
push 1
push 1
push 0
push 0
push 0
push 0
lea esi, [esp + 0x30]
push esi
mov esi, dword [esp + 0x48]
push edx
mov edx, dword [esi + 0x434]
push ecx
mov ecx, dword [esi + 0x430]
push 0
push 0
push 0
push esi
push ecx
mov ecx, dword [eax + 0x14]
push edx
mov edx, dword [eax + 0xc]
mov eax, dword [edi + 0xc]
push ecx
push edx
push eax
call fcn.005217b0
add esp, 0x50
mov ecx, dword [edi + 0x14]
cmp dword [ecx + 0x20], 1
jne 0x52aa86
mov edx, ecx
cmp dword [edx + 0x1c], 0
mov ecx, dword [edx + 0x38]
lea eax, [esi + 0x20]
mov esi, 0x40
jne 0x52aa14
jmp 0x52a930
movzx edx, byte [eax + 2]
movzx ebx, byte [eax + 1]
and dx, 0xfff8
shl dx, 5
or dx, bx
movzx ebx, byte [eax]
and dx, 0xfffc
add dx, dx
add dx, dx
add dx, dx
shr bl, 3
movzx bx, bl
or dx, bx
mov word [ecx], dx
movzx edx, byte [eax + 6]
movzx ebx, byte [eax + 5]
and dx, 0xfff8
shl dx, 5
or dx, bx
movzx ebx, byte [eax + 4]
and dx, 0xfffc
add dx, dx
add dx, dx
add dx, dx
shr bl, 3
movzx bx, bl
or dx, bx
mov word [ecx + 2], dx
movzx edx, byte [eax + 0xa]
movzx ebx, byte [eax + 9]
and dx, 0xfff8
shl dx, 5
or dx, bx
movzx ebx, byte [eax + 8]
and dx, 0xfffc
add dx, dx
add dx, dx
add dx, dx
shr bl, 3
movzx bx, bl
or dx, bx
mov word [ecx + 4], dx
movzx edx, byte [eax + 0xe]
movzx ebx, byte [eax + 0xd]
and dx, 0xfff8
shl dx, 5
or dx, bx
movzx ebx, byte [eax + 0xc]
and dx, 0xfffc
add dx, dx
shr bl, 3
add dx, dx
movzx bx, bl
add dx, dx
or dx, bx
mov word [ecx + 6], dx
add eax, 0x10
add ecx, 8
sub esi, 1
jne 0x52a930
push 0x200
jmp 0x52aa73
movzx ebx, byte [eax]
xor edx, edx
mov dh, byte [eax + 2]
add eax, 0x10
add ecx, 0x10
mov dl, byte [eax - 0xf]
shl edx, 8
or edx, ebx
mov dword [ecx - 0x10], edx
movzx ebx, byte [eax - 0xc]
xor edx, edx
mov dh, byte [eax - 0xa]
mov dl, byte [eax - 0xb]
shl edx, 8
or edx, ebx
mov dword [ecx - 0xc], edx
movzx ebx, byte [eax - 8]
xor edx, edx
mov dh, byte [eax - 6]
mov dl, byte [eax - 7]
shl edx, 8
or edx, ebx
mov dword [ecx - 8], edx
movzx ebx, byte [eax - 4]
xor edx, edx
mov dh, byte [eax - 2]
mov dl, byte [eax - 3]
shl edx, 8
or edx, ebx
sub esi, 1
mov dword [ecx - 4], edx
jne 0x52aa14
push 0x400
mov eax, dword [edi + 0x14]
mov ecx, dword [eax + 0x38]
mov edx, dword [eax + 0x3c]
push ecx
push edx
call fcn.004dc130
add esp, 0xc
mov eax, dword [edi + 0x14]
xor edx, edx
mov dword [eax + 0x2c], edx
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x38]
mov dword [ecx + 0x30], edx
cmp eax, dword [edi + 4]
jne 0x52af60
cmp ebp, dword [edi + 8]
jne 0x52af60
mov ecx, dword [edi + 0x14]
mov eax, dword [ecx + 0x1c]
cmp eax, edx
je 0x52aabd
cmp eax, 1
jne 0x52af60
cmp dword [ecx + 0x48], edx
je 0x52af60
mov dword [ecx + 0x30], 1
mov eax, dword [edi + 0x14]
cmp dword [eax + 0x28], 1
mov edx, dword [eax + 0x18]
mov dword [esp + 0x44], edx
jne 0x52abe2
cmp dword [eax + 0x44], 0
je 0x52abe2
mov ecx, eax
mov dword [ecx + 0x2c], 1
mov esi, dword [edi + 4]
mov eax, dword [edi + 0x14]
mov edx, dword [edi + 0x10]
mov ecx, dword [edi + 0xc]
add esi, esi
add esi, esi
mov ebx, esi
mov esi, dword [eax + 0xc]
sub esi, ebx
cmp dword [eax + 0x1c], 0
mov eax, dword [edi + 8]
mov dword [esp + 0x30], esi
mov dword [esp + 0x40], eax
jne 0x52ab91
lea esp, [esp]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x34], eax
jmp 0x52ab30
movzx eax, word [ecx]
movzx esi, byte [ecx + 2]
mov ebx, eax
mov ebp, eax
and ebx, 0xf800
imul ebx, esi
and ebp, 0x7e0
and eax, 0x1f
imul ebp, esi
imul eax, esi
and ebx, 0xf80000
and ebp, 0x7e000
or ebx, ebp
and eax, 0x1f00
or ebx, eax
sar ebx, 8
mov dword [edx], ebx
mov al, byte [ecx + 2]
mov byte [edx + 2], al
add ecx, 4
add edx, 4
sub dword [esp + 0x34], 1
jne 0x52ab30
mov eax, dword [esp + 0x30]
add ecx, eax
add edx, eax
sub dword [esp + 0x40], 1
jne 0x52ab20
jmp 0x52abe2
mov ebp, dword [esp + 0x38]
movzx ebx, byte [ecx + 3]
movzx eax, byte [ecx]
imul eax, ebx
sar eax, 8
mov byte [edx], al
movzx ebx, byte [ecx + 3]
movzx eax, byte [ecx + 1]
imul eax, ebx
sar eax, 8
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
movzx ebx, byte [ecx + 2]
imul eax, ebx
sar eax, 8
mov byte [edx + 2], al
mov al, byte [ecx + 2]
mov byte [edx + 3], al
add ecx, 4
add edx, 4
sub ebp, 1
jne 0x52ab95
add ecx, esi
add edx, esi
sub dword [esp + 0x40], 1
jne 0x52ab91
mov ecx, dword [edi + 0x14]
mov edx, dword [ecx + 0x14]
movzx esi, word [edx + 2]
imul esi, dword [edi + 4]
mov edx, dword [ecx + 0xc]
mov ebp, dword [ecx + 0x48]
mov eax, dword [edi + 0xc]
sub edx, esi
cmp dword [ecx + 0x20], 1
mov dword [esp + 0x40], ebp
mov dword [esp + 0x30], edx
jne 0x52acdc
mov edi, dword [edi + 8]
mov ecx, dword [esp + 0x38]
movzx edx, byte [eax]
add eax, 1
cmp edx, dword [esp + 0x44]
mov ebx, 0
lea edx, [ebx + 1]
jne 0x52ac68
sub ecx, edx
setne bl
test dl, bl
je 0x52ac63
mov esi, dword [esp + 0x44]
movzx ebx, byte [eax]
cmp ebx, esi
jne 0x52ac63
mov ebp, dword [esp + 0x40]
add eax, 1
add edx, 1
sub ecx, 1
cmp edx, 0x40
sbb ebx, ebx
mov dword [esp + 0x34], eax
xor eax, eax
neg ebx
test ecx, ecx
setne al
test eax, ebx
mov eax, dword [esp + 0x34]
jne 0x52ac35
sub dl, 1
jmp 0x52acaa
sub ecx, 1
setne bl
test dl, bl
je 0x52aca4
mov esi, dword [esp + 0x44]
movzx ebx, byte [eax]
cmp ebx, esi
je 0x52aca4
mov ebp, dword [esp + 0x40]
add eax, 1
add edx, 1
sub ecx, 1
cmp edx, 0x40
sbb ebx, ebx
mov dword [esp + 0x34], eax
xor eax, eax
neg ebx
test ecx, ecx
setne al
test eax, ebx
mov eax, dword [esp + 0x34]
jne 0x52ac76
sub dl, 1
or dl, 0x40
mov byte [ebp], dl
add ebp, 1
test ecx, ecx
mov dword [esp + 0x40], ebp
jne 0x52ac14
add eax, dword [esp + 0x30]
mov byte [ebp], 0xc0
add ebp, 1
sub edi, 1
mov dword [esp + 0x40], ebp
jne 0x52ac10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
cmp dword [ecx + 0x28], 0
jne 0x52ae63
cmp dword [ecx + 0x1c], 0
mov ecx, dword [edi + 8]
mov dword [esp + 0x40], ecx
jne 0x52adb4
jmp 0x52ad00
mov ecx, dword [esp + 0x38]
movzx edx, word [eax]
add eax, 2
cmp edx, dword [esp + 0x44]
mov ebx, 0
lea edx, [ebx + 1]
jne 0x52ad4c
sub ecx, edx
setne bl
test dl, bl
je 0x52ad47
mov esi, dword [esp + 0x44]
movzx edi, word [eax]
cmp edi, esi
jne 0x52ad47
add edx, 1
add eax, 2
sub ecx, 1
cmp edx, 0x40
sbb edi, edi
xor ebx, ebx
neg edi
test ecx, ecx
setne bl
test ebx, edi
jne 0x52ad25
sub dl, 1
jmp 0x52ad88
sub ecx, 1
setne bl
test dl, bl
je 0x52ad82
mov esi, dword [esp + 0x44]
lea ebx, [ebx]
movzx edi, word [eax]
cmp edi, esi
je 0x52ad82
add edx, 1
add eax, 2
sub ecx, 1
cmp edx, 0x40
sbb edi, edi
xor ebx, ebx
neg edi
test ecx, ecx
setne bl
test ebx, edi
jne 0x52ad60
sub dl, 1
or dl, 0x40
mov byte [ebp], dl
add ebp, 1
test ecx, ecx
jne 0x52ad04
add eax, dword [esp + 0x30]
mov byte [ebp], 0xc0
add ebp, 1
sub dword [esp + 0x40], 1
jne 0x52ad00
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
mov ecx, dword [esp + 0x38]
jmp 0x52adc0
mov edx, dword [eax]
add eax, 4
cmp edx, dword [esp + 0x44]
mov ebx, 0
lea edx, [ebx + 1]
jne 0x52ae04
sub ecx, edx
setne bl
test dl, bl
je 0x52adff
mov esi, dword [esp + 0x44]
cmp dword [eax], esi
jne 0x52adff
add edx, 1
add eax, 4
sub ecx, 1
cmp edx, 0x40
sbb edi, edi
xor ebx, ebx
neg edi
test ecx, ecx
setne bl
test ebx, edi
jne 0x52ade0
sub dl, 1
jmp 0x52ae37
sub ecx, 1
setne bl
test dl, bl
je 0x52ae31
mov esi, dword [esp + 0x44]
cmp dword [eax], esi
je 0x52ae31
add edx, 1
add eax, 4
sub ecx, 1
cmp edx, 0x40
sbb edi, edi
xor ebx, ebx
neg edi
test ecx, ecx
setne bl
test ebx, edi
jne 0x52ae12
sub dl, 1
or dl, 0x40
mov byte [ebp], dl
add ebp, 1
test ecx, ecx
jne 0x52adc0
add eax, dword [esp + 0x30]
mov byte [ebp], 0xc0
add ebp, 1
sub dword [esp + 0x40], 1
jne 0x52adb4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
xor edx, edx
cmp dword [ecx + 0x1c], edx
mov ecx, dword [edi + 8]
setne dl
mov dword [esp + 0x40], ecx
add edx, 2
mov esi, edx
jmp 0x52ae80
mov ecx, dword [esp + 0x38]
mov dl, byte [esi + eax]
add eax, 4
test dl, dl
mov ebx, 0
je 0x52af09
cmp dl, 0xff
lea edx, [ebx + 1]
je 0x52aed3
sub ecx, edx
setne bl
test dl, bl
je 0x52aecb
mov bl, byte [esi + eax]
test bl, bl
je 0x52aecb
cmp bl, 0xff
je 0x52aecb
add edx, 1
add eax, 4
sub ecx, 1
cmp edx, 0x40
sbb edi, edi
xor ebx, ebx
neg edi
test ecx, ecx
setne bl
test ebx, edi
jne 0x52aea4
sub dl, 1
or dl, 0x80
jmp 0x52af3c
sub ecx, 1
setne bl
test dl, bl
je 0x52af01
lea ecx, [ecx]
cmp byte [esi + eax], 0xff
jne 0x52af01
add edx, 1
add eax, 4
sub ecx, 1
cmp edx, 0x40
sbb edi, edi
xor ebx, ebx
neg edi
test ecx, ecx
setne bl
test ebx, edi
jne 0x52aee0
sub dl, 1
or dl, 0x40
jmp 0x52af3c
sub ecx, 1
mov edx, 1
setne bl
test dl, bl
je 0x52af39
cmp byte [esi + eax], 0
jne 0x52af39
add edx, 1
add eax, 4
sub ecx, 1
cmp edx, 0x40
sbb edi, edi
xor ebx, ebx
neg edi
test ecx, ecx
setne bl
test ebx, edi
jne 0x52af18
sub dl, 1
mov byte [ebp], dl
add ebp, 1
test ecx, ecx
jne 0x52ae84
add eax, dword [esp + 0x30]
mov byte [ebp], 0xc0
add ebp, 1
sub dword [esp + 0x40], 1
jne 0x52ae80
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret