Function at 0x47fe01
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0x50
mov ebx, dword [ebp + 0x14]
test ebx, ebx
je 0x480698
cmp dword [ebx], 0
je 0x480698
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
mov byte [eax], 0
mov eax, dword [ebp + 8]
movzx edx, byte [eax + 0x20]
xor eax, eax
test dl, 1
sete al
add eax, edx
add eax, 0x21
add edi, eax
mov dword [esp + 0x4c], edi
mov edi, dword [ebp + 8]
movzx edx, byte [edi]
sub edx, eax
movzx eax, byte [ebx + 0x14]
mov dword [esp + 0x48], edx
cmp al, 0xff
je 0x47fe70
sub dword [esp + 0x48], eax
add dword [esp + 0x4c], eax
xor eax, eax
cmp dword [esp + 0x48], 0
cmovns eax, dword [esp + 0x48]
mov dword [esp + 0x48], eax
xor edi, edi
xor esi, esi
mov byte [esp + 0x2a], 0
mov dword [esp + 0x14], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x24], edi
cmp dword [esp + 0x48], 1
jle 0x4805c6
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
mov dl, byte [edi + 2]
movzx eax, word [eax]
test dl, dl
je 0x48068c
movzx esi, dl
sub dword [esp + 0x48], esi
add edi, esi
mov dword [esp + 0x1c], edi
cmp eax, 0x4c50
je 0x480552
jg 0x47ff13
cmp eax, 0x4653
je 0x48059e
jg 0x47fef8
cmp eax, 0x4543
je 0x47ffdb
cmp eax, 0x4552
je 0x480578
jmp 0x480653
cmp eax, 0x4654
je 0x4802d5
cmp eax, 0x4c43
je 0x4804e9
jmp 0x480653
cmp eax, 0x5053
je 0x47ffa5
jg 0x47ff3b
cmp eax, 0x4c53
je 0x48015f
cmp eax, 0x4d4e
je 0x480096
jmp 0x480653
cmp eax, 0x5245
je 0x48005c
cmp eax, 0x5850
jne 0x480653
mov eax, dword [esp + 0x4c]
mov edx, dword [eax + 8]
mov eax, dword [eax + 4]
call fcn.0047fd80
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x4c]
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
call fcn.0047fd80
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x4c]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
call fcn.0047fd80
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x4c]
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
call fcn.0047fd80
or dword [ebx + 0xaa], 8
mov dword [ebx + 0x10], eax
jmp 0x480653
mov eax, dword [esp + 0x4c]
cmp byte [eax + 4], 0xbe
jne 0x47ffb9
mov eax, dword [esp + 0x4c]
cmp byte [eax + 5], 0xef
je 0x47ffc5
mov dword [esp], str.Invalid_Rock_Ridge_SP_field
jmp 0x480046
mov eax, dword [esp + 0x4c]
mov al, byte [eax + 6]
or dword [ebx + 0xaa], 1
mov byte [ebx + 0x14], al
jmp 0x480653
mov eax, dword [ebp + 8]
mov dl, byte [eax + 0x20]
mov al, byte [eax + 0x21]
test al, al
jne 0x47ffec
dec dl
jmp 0x47fff2
dec dl
jne 0x47fff8
dec al
je 0x480653
mov eax, dword [esp + 0x4c]
mov edx, dword [eax + 8]
mov eax, dword [eax + 4]
call fcn.0047fd80
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x4c]
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
call fcn.0047fd80
mov dword [esp + 0x20], eax
cmp eax, 0x7ff
ja 0x48003f
mov eax, dword [esp + 0x4c]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
call fcn.0047fd80
mov dword [esp + 0x2c], eax
cmp eax, 0x7ff
jbe 0x480050
mov dword [esp], str.Invalid_Rock_Ridge_CE_field
call fcn.004820ed
jmp 0x48068c
or dword [ebx + 0xaa], 4
jmp 0x480653
mov dword [esp], str.ISO_9660_Extensions:
xor esi, esi
call fcn.004820bd
mov eax, dword [esp + 0x4c]
movzx eax, byte [eax + 4]
cmp eax, esi
jle 0x480653
mov eax, dword [esp + 0x4c]
movsx eax, byte [eax + esi + 8]
mov dword [esp], 0x4be1c2
inc esi
mov dword [esp + 4], eax
call fcn.004820bd
jmp 0x48006a
or dword [ebx + 0xaa], 0x40
cmp dword [esp + 0x14], 0
jne 0x480653
mov eax, dword [esp + 0x4c]
movzx eax, byte [eax + 4]
test al, 4
je 0x4800d4
mov dword [esp + 4], 0x4be1c5
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sub.msvcrt.dll_strcat
mov dword [esp + 0x40], 3
jmp 0x480653
test al, 2
je 0x4800f8
mov dword [esp + 4], 0x4be1c8
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sub.msvcrt.dll_strcat
mov dword [esp + 0x40], 2
jmp 0x480653
cmp al, 1
jbe 0x480111
mov dword [esp + 4], eax
mov dword [esp], str.Unsupported_NM_flag_settings___d_
call fcn.004820d5
jmp 0x480653
mov eax, dword [ebp + 0x10]
sub esi, 5
mov dword [esp], eax
call sub.msvcrt.dll_strlen
add eax, esi
cmp eax, 0xfd
ja 0x4805b9
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], esi
add eax, 5
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sub.msvcrt.dll_strncat
mov eax, dword [esp + 0x4c]
mov edi, dword [esp + 0x40]
movzx eax, byte [eax + 2]
lea eax, [edi + eax - 5]
mov dword [esp + 0x40], eax
jmp 0x480653
lea eax, [edx - 5]
or dword [ebx + 0xaa], 0x20
mov byte [esp + 0x2b], al
mov eax, dword [esp + 0x4c]
add eax, 5
cmp byte [esp + 0x2b], 1
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x24]
mov dword [ebx + 0x15], eax
jbe 0x4802b2
mov eax, dword [esp + 0x30]
movzx eax, byte [eax]
and eax, 0xfffffffe
cmp eax, 4
je 0x4801f8
jg 0x4801d0
test eax, eax
jne 0x480214
mov eax, dword [esp + 0x30]
movzx edx, byte [eax + 1]
mov eax, ebx
call fcn.0047fd81
mov esi, dword [esp + 0x30]
mov eax, dword [ebx + 0x15]
add eax, dword [ebx + 0x1d]
movzx ecx, byte [esi + 1]
mov edi, eax
lea esi, [esi + 2]
mov eax, dword [esp + 0x30]
rep movsb byte es:[edi], byte [esi]
movzx eax, byte [eax + 1]
add dword [ebx + 0x15], eax
jmp 0x480230
cmp eax, 8
jne 0x480234
mov edx, 1
mov eax, ebx
call fcn.0047fd81
mov eax, dword [ebx + 0x15]
mov edx, dword [ebx + 0x1d]
lea ecx, [eax + 1]
mov dword [ebx + 0x15], ecx
mov byte [edx + eax], 0x2f
mov edx, 1
jmp 0x480242
mov edx, 1
mov eax, ebx
call fcn.0047fd81
mov eax, dword [ebx + 0x15]
mov edx, dword [ebx + 0x1d]
lea ecx, [eax + 1]
mov dword [ebx + 0x15], ecx
mov byte [edx + eax], 0x2e
mov edx, 1
mov eax, ebx
call fcn.0047fd81
mov eax, dword [ebx + 0x15]
mov edx, dword [ebx + 0x1d]
lea ecx, [eax + 1]
mov dword [ebx + 0x15], ecx
mov byte [edx + eax], 0x2e
xor edx, edx
jmp 0x480242
mov dword [esp], str.Symlink_component_flag_not_implemented
call fcn.004820ed
jmp 0x480230
mov eax, dword [esp + 0x30]
mov cl, byte [esp + 0x2b]
mov esi, dword [esp + 0x30]
movzx eax, byte [eax + 1]
sub ecx, 2
sub ecx, eax
lea esi, [esi + eax + 2]
mov byte [esp + 0x2b], cl
cmp cl, 1
ja 0x480280
mov edi, dword [esp + 0x4c]
mov eax, dword [ebx + 0x15]
test byte [edi + 4], 1
je 0x4802b2
mov esi, dword [esp + 0x30]
test byte [esi], 1
jne 0x4802b2
inc eax
mov dword [ebx + 0x15], eax
jmp 0x4802b2
test edx, edx
jne 0x4802a9
mov eax, dword [esp + 0x30]
test byte [eax], 1
jne 0x4802a9
mov edx, 1
mov eax, ebx
call fcn.0047fd81
mov eax, dword [ebx + 0x15]
mov edx, dword [ebx + 0x1d]
lea ecx, [eax + 1]
mov dword [ebx + 0x15], ecx
mov byte [edx + eax], 0x2f
mov dword [esp + 0x30], esi
jmp 0x48018a
mov eax, dword [ebx + 0x15]
mov edx, 1
mov dword [esp + 0x24], eax
mov eax, ebx
call fcn.0047fd81
mov eax, dword [ebx + 0x1d]
mov edi, dword [esp + 0x24]
mov byte [eax + edi], 0
jmp 0x480653
mov eax, dword [esp + 0x4c]
mov dl, byte [eax + 4]
xor eax, eax
test dl, 1
je 0x480330
mov eax, edx
mov byte [ebx + 0x21], 1
shr al, 7
test dl, dl
mov byte [ebx + 0x22], al
mov eax, dword [esp + 0x4c]
lea edx, [eax + 5]
lea eax, [ebx + 0x23]
jns 0x48031b
mov esi, dword [esp + 0x4c]
movups xmm0, xmmword [esi + 5]
movups xmmword [ebx + 0x23], xmm0
mov dl, byte [edx + 0x10]
movups xmmword [esp + 0x30], xmm0
mov byte [eax + 0x10], dl
mov eax, 0x11
jmp 0x480330
mov edi, dword [esp + 0x4c]
mov ecx, dword [edi + 5]
mov dword [ebx + 0x23], ecx
mov edx, dword [edx + 3]
mov dword [eax + 3], edx
mov eax, 7
mov esi, dword [esp + 0x4c]
mov cl, byte [esi + 4]
test cl, 2
je 0x480373
mov edx, ecx
mov byte [ebx + 0x34], 1
shr dl, 7
test cl, cl
lea ecx, [ebx + 0x36]
mov byte [ebx + 0x35], dl
lea edx, [esi + eax + 5]
jns 0x480365
movups xmm2, xmmword [edx]
add eax, 0x11
movups xmmword [ebx + 0x36], xmm2
mov dl, byte [edx + 0x10]
mov byte [ecx + 0x10], dl
jmp 0x480373
mov esi, dword [edx]
add eax, 7
mov dword [ebx + 0x36], esi
mov edx, dword [edx + 3]
mov dword [ecx + 3], edx
mov esi, dword [esp + 0x4c]
mov cl, byte [esi + 4]
test cl, 4
je 0x4803b6
mov edx, ecx
mov byte [ebx + 0x47], 1
shr dl, 7
test cl, cl
lea ecx, [ebx + 0x49]
mov byte [ebx + 0x48], dl
lea edx, [esi + eax + 5]
jns 0x4803a8
movups xmm3, xmmword [edx]
add eax, 0x11
movups xmmword [ebx + 0x49], xmm3
mov dl, byte [edx + 0x10]
mov byte [ecx + 0x10], dl
jmp 0x4803b6
mov esi, dword [edx]
add eax, 7
mov dword [ebx + 0x49], esi
mov edx, dword [edx + 3]
mov dword [ecx + 3], edx
mov esi, dword [esp + 0x4c]
mov cl, byte [esi + 4]
test cl, 8
je 0x4803f9
mov edx, ecx
mov byte [ebx + 0x5a], 1
shr dl, 7
test cl, cl
lea ecx, [ebx + 0x5c]
mov byte [ebx + 0x5b], dl
lea edx, [esi + eax + 5]
jns 0x4803eb
movups xmm4, xmmword [edx]
add eax, 0x11
movups xmmword [ebx + 0x5c], xmm4
mov dl, byte [edx + 0x10]
mov byte [ecx + 0x10], dl
jmp 0x4803f9
mov esi, dword [edx]
add eax, 7
mov dword [ebx + 0x5c], esi
mov edx, dword [edx + 3]
mov dword [ecx + 3], edx
mov esi, dword [esp + 0x4c]
mov cl, byte [esi + 4]
test cl, 0x10
je 0x48043c
mov edx, ecx
mov byte [ebx + 0x6d], 1
shr dl, 7
test cl, cl
lea ecx, [ebx + 0x6f]
mov byte [ebx + 0x6e], dl
lea edx, [esi + eax + 5]
jns 0x48042e
movups xmm5, xmmword [edx]
add eax, 0x11
movups xmmword [ebx + 0x6f], xmm5
mov dl, byte [edx + 0x10]
mov byte [ecx + 0x10], dl
jmp 0x48043c
mov esi, dword [edx]
add eax, 7
mov dword [ebx + 0x6f], esi
mov edx, dword [edx + 3]
mov dword [ecx + 3], edx
mov esi, dword [esp + 0x4c]
mov cl, byte [esi + 4]
test cl, 0x20
je 0x48048e
mov edx, ecx
mov byte [ebx + 0x80], 1
shr dl, 7
test cl, cl
lea ecx, [ebx + 0x82]
mov byte [ebx + 0x81], dl
lea edx, [esi + eax + 5]
jns 0x48047d
movups xmm6, xmmword [edx]
add eax, 0x11
movups xmmword [ebx + 0x82], xmm6
mov dl, byte [edx + 0x10]
mov byte [ecx + 0x10], dl
jmp 0x48048e
mov esi, dword [edx]
add eax, 7
mov dword [ebx + 0x82], esi
mov edx, dword [edx + 3]
mov dword [ecx + 3], edx
mov esi, dword [esp + 0x4c]
mov dl, byte [esi + 4]
test dl, 0x40
je 0x4804da
mov ecx, edx
mov byte [ebx + 0x93], 1
lea eax, [esi + eax + 5]
shr cl, 7
test dl, dl
lea edx, [ebx + 0x95]
mov byte [ebx + 0x94], cl
jns 0x4804cc
movups xmm7, xmmword [eax]
movups xmmword [ebx + 0x95], xmm7
mov al, byte [eax + 0x10]
mov byte [edx + 0x10], al
jmp 0x4804da
mov ecx, dword [eax]
mov dword [ebx + 0x95], ecx
mov eax, dword [eax + 3]
mov dword [edx + 3], eax
or dword [ebx + 0xaa], 0x80
jmp 0x480653
cmp dword [ebp + 0xc], 0
je 0x480653
mov eax, dword [ebp + 0xc]
test byte [eax + 2], 1
jne 0x480653
or dword [ebx + 0xaa], 0x100
mov eax, dword [esp + 0x4c]
mov edx, dword [eax + 8]
mov eax, dword [eax + 4]
call fcn.0047fd80
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.0047fbde
test eax, eax
jne 0x480535
mov dword [esp], str.Could_not_get_Rock_Ridge_deep_directory_child
jmp 0x4805af
mov edi, ebx
mov esi, eax
mov ecx, 0x3e
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov dword [eax + 0x1d], ecx
mov dword [esp], eax
call fcn.0047d3e4
jmp 0x480653
cmp dword [ebp + 0xc], 0
je 0x480653
mov eax, dword [ebp + 0xc]
test byte [eax + 2], 1
jne 0x480653
or dword [ebx + 0xaa], 0x200
jmp 0x480653
cmp dword [ebp + 0xc], 0
je 0x480653
mov eax, dword [ebp + 0xc]
test byte [eax + 2], 1
jne 0x480653
or dword [ebx + 0xaa], 0x400
jmp 0x480653
or dword [ebx + 0xaa], 0x800
mov dword [esp], str.Rock_Ridge_Sparse_File_detected
call fcn.004820ed
jmp 0x480653
mov dword [esp + 0x14], 1
jmp 0x480653
cmp dword [esp + 0x2c], 0
je 0x48066c
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [esp + 4], 0x800
mov dword [esp], 1
call sub.msvcrt.dll_calloc
mov dword [esp + 0x44], eax
test eax, eax
je 0x48068c
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc], 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.0047e3a6
cmp eax, 0x800
jne 0x48068c
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x20]
add eax, esi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x48], eax
mov al, byte [esp + 0x2a]
inc eax
cmp byte [esp + 0x2a], 0x3f
ja 0x480660
xor edx, edx
mov byte [esp + 0x2a], al
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x4c], eax
jmp 0x47fe95
mov dword [esp], str.More_than_64_consecutive_Rock_Ridge_CEs_detected
call fcn.004820ed
test dword [ebx + 0xaa], 0xffa
je 0x48067e
mov dword [ebx], 1
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call sub.msvcrt.dll_free
jmp 0x48069e
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call sub.msvcrt.dll_free
xor eax, eax
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret