Function at 0x4c5fc0
Capabilities:
Enumerate pe sections

Disassembly:
mov eax, 0x1544
call fcn.00452e90
mov eax, dword [0x5181f4]
xor eax, esp
mov dword [esp + 0x1540], eax
mov eax, dword [esp + 0x1558]
push ebx
mov ebx, dword [esp + 0x154c]
push ebp
mov ebp, dword [esp + 0x1554]
push esi
push edi
mov edi, dword [esp + 0x1560]
push 0x256
lea ecx, [esp + 0x12fe]
push 0
push ecx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], eax
mov word [esp + 0x1304], 0
call fcn.004424d0
xor eax, eax
add esp, 0xc
cmp ebx, eax
mov esi, 0x10
mov dword [esp + 0x10], esi
mov dword [esp + 0x44], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
je 0x4c69e9
test ebp, ebp
je 0x4c69e9
test edi, edi
je 0x4c69e9
cmp dword [esp + 0x28], eax
je 0x4c69e9
mov edi, edi
lea eax, [ebx + 0xc]
push str.MODE1
push eax
call fcn.004cddb0
add esp, 8
test eax, eax
je 0x4c60ad
cmp dword [ebx + 8], 0x800
mov edi, 1
mov dword [esp + 0x2c], edi
jne 0x4c60a0
lea edx, [esp + 0xa8]
jmp 0x4c60d3
lea eax, [esp + 0x98]
mov dword [esp + 0x14], eax
jmp 0x4c60d7
cmp dword [ebx + 8], 0x920
mov edi, 2
mov dword [esp + 0x2c], edi
jne 0x4c60cc
lea ecx, [esp + 0x9d8]
mov dword [esp + 0x14], ecx
jmp 0x4c60d7
lea edx, [esp + 0x9c8]
mov dword [esp + 0x14], edx
mov eax, dword [ebx + 0x30]
sub eax, dword [ebx + 0x2c]
add eax, 1
mov dword [esp + 0x18], eax
mov ecx, dword [ebx + 8]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
push ecx
push eax
mov eax, esi
sub eax, dword [edx + 0x20]
push ecx
add eax, dword [ebx + 0x2c]
imul eax, ecx
mov ecx, dword [esp + 0x34]
cdq
push edx
mov edx, dword [ecx + 4]
push eax
mov eax, dword [ebx + 0x34]
push eax
call edx
add esp, 0x18
test eax, eax
jl 0x4c635c
cmp dword [esp + 0x1c], 0
jne 0x4c620b
cmp dword [ebx + 8], 0x930
jne 0x4c620b
cmp edi, 1
mov dword [esp + 0x1c], 1
jne 0x4c6154
cmp byte [esp + 0xa7], 2
jne 0x4c6214
mov byte [ebx + 0x10], 0x32
jmp 0x4c6070
cmp edi, 2
jne 0x4c620b
cmp byte [esp + 0x9d7], 1
je 0x4c6353
lea edi, [esp + 0x9e0]
test byte [esp + 0x1564], 1
jne 0x4c626c
cmp byte [edi], 2
jne 0x4c6303
mov eax, 5
mov ecx, str.CD001
lea edx, [edi + 1]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x4c61ae
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x4c6196
test eax, eax
je 0x4c6220
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x4c61fd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4c6220
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x4c61fd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4c6220
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x4c61fd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4c6220
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x4c6220
test esi, esi
mov eax, 1
jg 0x4c6222
or eax, 0xffffffff
jmp 0x4c6222
cmp edi, 1
jne 0x4c616b
lea edi, [esp + 0xa8]
jmp 0x4c6172
xor eax, eax
test eax, eax
jne 0x4c6303
mov cl, byte [edi + 6]
cmp cl, 1
jne 0x4c6264
cmp byte [edi + 0x58], 0x25
jne 0x4c6264
cmp byte [edi + 0x59], 0x2f
jne 0x4c6264
mov al, byte [edi + 0x5b]
test al, al
je 0x4c6249
cmp al, 0x20
jne 0x4c6264
mov al, byte [edi + 0x5a]
cmp al, 0x40
je 0x4c6322
cmp al, 0x43
je 0x4c6322
cmp al, 0x45
je 0x4c6322
cmp cl, 2
jmp 0x4c6301
cmp byte [edi], 1
jne 0x4c6303
mov eax, 5
mov ecx, str.CD001
lea edx, [edi + 1]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x4c629a
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x4c6282
test eax, eax
je 0x4c62f7
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x4c62e9
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4c62f7
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x4c62e9
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4c62f7
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x4c62e9
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4c62f7
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x4c62f7
test esi, esi
mov eax, 1
jg 0x4c62f9
or eax, 0xffffffff
jmp 0x4c62f9
xor eax, eax
test eax, eax
jne 0x4c6303
cmp byte [edi + 6], 1
je 0x4c632a
mov esi, dword [esp + 0x10]
add esi, 1
cmp byte [edi], 0xff
mov dword [esp + 0x10], esi
je 0x4c632f
cmp esi, dword [esp + 0x18]
jge 0x4c632a
mov edi, dword [esp + 0x2c]
jmp 0x4c60e4
mov dword [esp + 0x44], 1
cmp byte [edi], 0xff
jne 0x4c6374
test byte [esp + 0x1564], 1
jne 0x4c637e
or dword [esp + 0x1564], 1
mov edi, dword [esp + 0x2c]
mov esi, 0x10
mov dword [esp + 0x10], esi
jmp 0x4c60e4
mov byte [ebx + 0x10], 0x31
jmp 0x4c6070
push eax
push str.IsoRead___d
call fcn.0048bf00
add esp, 8
mov eax, 0xfffffffd
jmp 0x4c69ec
mov edx, dword [esp + 0x18]
cmp dword [esp + 0x10], edx
jl 0x4c6396
mov eax, dword [esp + 0x20]
mov dword [ebx + 4], 0
mov dword [eax], 0
xor eax, eax
jmp 0x4c69ec
mov edx, dword [edi + 0x9e]
mov ebp, dword [edi + 0xa6]
mov ecx, dword [esp + 0x20]
xor edi, edi
xor esi, esi
xor eax, eax
mov dword [ecx], 1
mov dword [ebx + 4], 2
mov dword [esp + 0x58], edx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x10], edi
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
test edi, edi
jne 0x4c6420
lea eax, [ebp + 0x10]
push 1
push eax
call fcn.00450c7c
mov edi, eax
add esp, 8
test edi, edi
mov dword [esp + 0x10], edi
mov esi, edi
je 0x4c6928
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [eax + 0x24]
push ebp
push edi
push ebp
shl edx, 0xb
push edx
mov edx, dword [eax + 0x20]
push ecx
push edx
push ebx
call fcn.004c5d70
add esp, 0x20
test eax, eax
jl 0x4c6941
lea ecx, [edi + ebp]
cmp esi, ecx
mov dword [esp + 0x54], ecx
jae 0x4c6895
nop
mov al, byte [esi]
test al, al
jne 0x4c6463
mov eax, esi
sub eax, edi
cdq
and edx, 0x7ff
add eax, edx
sar eax, 0xb
add eax, 1
shl eax, 0xb
lea esi, [eax + edi]
cmp esi, ecx
jae 0x4c645c
cmp byte [esi], 0
jne 0x4c6857
mov esi, ecx
jmp 0x4c6895
test byte [esi + 0x19], 2
jne 0x4c67f2
xor edi, edi
cmp dword [esp + 0x2c], 2
mov dword [esp + 0x1c], edi
jne 0x4c64ab
movzx eax, al
mov cx, word [eax + esi - 0xa]
mov word [esp + 0x14], cx
mov dl, byte [esp + 0x15]
mov al, cl
mov byte [esp + 0x14], dl
mov byte [esp + 0x15], al
test dword [esp + 0x14], 0x1000
je 0x4c64ab
mov dword [ebx + 4], 3
jmp 0x4c6808
mov eax, dword [esi + 2]
cmp eax, dword [ebx + 0x2c]
jl 0x4c6808
cmp eax, dword [ebx + 0x30]
jg 0x4c6808
test byte [esp + 0x1564], 2
jne 0x4c660a
lea eax, [esp + 0x12f8]
push 0x4fa6bc
push eax
call fcn.004c5610
add esp, 8
cmp dword [esp + 0x30], edi
je 0x4c6612
cmp dword [esp + 0x38], 0
jle 0x4c656f
xor ebx, ebx
lea ecx, [esp + 0x30]
push ebx
push ecx
mov dword [esp + 0x44], 0
call fcn.004c5540
mov edi, dword [eax + 4]
add esp, 8
test edi, edi
je 0x4c6612
cmp dword [esp + 0x44], 0
je 0x4c657c
movzx edx, byte [edi + 0x20]
shr edx, 1
push edx
lea eax, [edi + 0x21]
push eax
call fcn.004c56c0
movzx edx, byte [edi + 0x20]
add esp, 8
shr edx, 1
mov ebp, eax
push edx
push ebp
call fcn.004c55a0
add esp, 8
push ebp
call fcn.004c55f0
add esp, 4
test eax, eax
jne 0x4c658e
lea eax, [esp + 0x12f8]
push 0x4fa6bc
push eax
call fcn.004c55f0
add esp, 4
lea ecx, [esp + eax*2 + 0x12fc]
push ecx
jmp 0x4c65cc
mov dword [esp + 0x3c], 0xffffffff
jmp 0x4c6612
movzx ecx, byte [edi + 0x20]
push ecx
add edi, 0x21
push edi
call fcn.004c5650
mov ebp, eax
jmp 0x4c6540
push ebp
lea edx, [esp + 0x12fc]
push edx
call fcn.004c55f0
lea eax, [esp + eax*2 + 0x1300]
add esp, 4
push eax
call fcn.004c5610
add esp, 8
lea ecx, [esp + 0x12f8]
push 0x4fa6bc
push ecx
call fcn.004c55f0
add esp, 4
lea edx, [esp + eax*2 + 0x12fc]
push edx
call fcn.004c5610
add esp, 8
push ebp
call fcn.00443e65
add ebx, 1
lea eax, [esp + 0x34]
push ebx
push eax
call fcn.004c5540
add esp, 0xc
test eax, eax
je 0x4c6612
lea ecx, [esp + 0x30]
push ebx
push ecx
call fcn.004c5540
mov edi, dword [eax + 4]
add esp, 8
test edi, edi
jne 0x4c6517
jmp 0x4c6612
mov word [esp + 0x12f8], di
cmp dword [esp + 0x44], 0
movzx eax, byte [esi + 0x20]
je 0x4c6635
shr eax, 1
push eax
push eax
lea edx, [esi + 0x21]
push edx
call fcn.004c55a0
add esp, 8
push eax
call fcn.004c56c0
jmp 0x4c663f
push eax
lea ecx, [esi + 0x21]
push ecx
call fcn.004c5650
mov edi, eax
add esp, 8
push edi
lea edx, [esp + 0x12fc]
push edx
call fcn.004c55f0
lea eax, [esp + eax*2 + 0x1300]
add esp, 4
push eax
call fcn.004c5610
add esp, 8
test byte [esp + 0x1564], 4
jne 0x4c6689
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x12fc]
push 0x4fdfd4
push edx
call fcn.004ce49b
add esp, 0xc
push edi
call fcn.00443e65
movzx ecx, byte [esi + 0x13]
movzx edx, byte [esi + 0x12]
movzx ebx, byte [esi + 0x19]
mov edi, dword [esi + 0xa]
xor eax, eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x6c], eax
movzx eax, byte [esi + 0x14]
mov word [esp + 0x66], ax
movzx eax, byte [esi + 0x15]
mov word [esp + 0x62], cx
movzx ecx, byte [esi + 0x16]
add dx, 0x76c
add esp, 4
mov word [esp + 0x64], ax
mov word [esp + 0x5c], dx
movzx edx, byte [esi + 0x17]
lea eax, [esp + 0x6c]
mov word [esp + 0x66], cx
push eax
lea ecx, [esp + 0x60]
and ebx, 1
push ecx
add ebx, ebx
xor ebp, ebp
mov word [esp + 0x70], dx
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
lea ecx, [esp + 0x12f8]
push ebp
mov dword [esp + 0x80], edx
push edi
mov edx, ecx
push edx
push str.processing_file__s__size_I64d
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x90], eax
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], ebp
mov dword [esp + 0x88], ecx
call fcn.0048c000
lea eax, [esp + 0x88]
push eax
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
push ecx
call edx
add esp, 0x18
sub eax, ebp
je 0x4c6808
sub eax, 1
jne 0x4c6965
mov eax, dword [esi + 0xa]
test eax, eax
mov dword [esp + 0x20], eax
jbe 0x4c6808
mov ebx, dword [esp + 0x24]
mov edi, dword [ebx + 0x1c]
cmp eax, edi
ja 0x4c678a
mov edi, eax
mov eax, dword [esp + 0x28]
mov ecx, dword [ebx + 0x18]
mov edx, dword [esi + 2]
push eax
mov eax, dword [ebx + 0x24]
push edi
push ecx
mov ecx, dword [ebx + 0x20]
shl edx, 0xb
add edx, dword [esp + 0x28]
push edi
push edx
mov edx, dword [esp + 0x54]
push eax
push ecx
push edx
call fcn.004c5d70
add esp, 0x20
test eax, eax
jl 0x4c697b
cmp edi, dword [ebx + 0x1c]
mov ecx, dword [ebx + 0x18]
mov edx, dword [ebx + 0x14]
sbb eax, eax
neg eax
push eax
mov eax, dword [ebx + 0x10]
push edi
push ecx
push edx
call eax
mov ebp, eax
add esp, 0x10
test ebp, ebp
jl 0x4c69af
mov eax, dword [esp + 0x20]
add dword [esp + 0x1c], edi
sub eax, edi
mov dword [esp + 0x20], eax
jne 0x4c6781
jmp 0x4c6808
mov al, byte [esi + 0x20]
test al, al
je 0x4c6808
cmp al, 1
jne 0x4c6861
mov al, byte [esi + 0x21]
test al, al
je 0x4c6808
cmp al, 1
jne 0x4c6861
mov edi, dword [esp + 0x10]
mov eax, esi
sub eax, edi
mov ecx, eax
and ecx, 0x800007ff
jns 0x4c6822
dec ecx
or ecx, 0xfffff800
inc ecx
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x18]
mov edx, 0x800
sub edx, ecx
cmp edx, 0x21
mov ecx, dword [esp + 0x54]
jae 0x4c6852
cdq
and edx, 0x7ff
add eax, edx
mov esi, eax
sar esi, 0xb
add esi, 1
shl esi, 0xb
add esi, edi
jmp 0x4c6857
movzx eax, byte [esi]
add esi, eax
cmp esi, ecx
jb 0x4c6430
jmp 0x4c6895
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x34]
push edx
mov dword [esp + 0x58], ebp
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], esi
call fcn.004c5420
mov ebp, dword [esi + 0xa]
mov eax, dword [esi + 2]
xor edi, edi
add esp, 8
mov dword [esp + 0x18], ebp
mov dword [esp + 0x58], eax
mov dword [esp + 0x10], edi
xor esi, esi
lea ecx, [edi + ebp]
cmp esi, ecx
jb 0x4c63d1
lea edx, [esp + 0x30]
push edx
call fcn.004c5400
add esp, 4
test eax, eax
push edi
jne 0x4c696a
call fcn.00443e65
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x38]
push ecx
call fcn.004c54e0
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x54]
mov ebp, dword [esp + 0x5c]
mov eax, ecx
sub eax, edi
mov edx, eax
add esp, 0xc
and edx, 0x800007ff
mov dword [esp + 0x18], ebp
mov dword [esp + 0x10], edi
jns 0x4c68f7
dec edx
or edx, 0xfffff800
inc edx
mov esi, 0x800
sub esi, edx
cmp esi, 0x21
jae 0x4c691e
cdq
and edx, 0x7ff
add eax, edx
mov esi, eax
sar esi, 0xb
add esi, 1
shl esi, 0xb
add esi, edi
jmp 0x4c63d1
movzx esi, byte [ecx]
add esi, ecx
jmp 0x4c63d1
lea eax, [esp + 0x30]
push 0
push eax
call fcn.004c5700
add esp, 8
mov eax, 0xfffffffe
jmp 0x4c69ec
push eax
push ebp
push str._IsoReadUserData_1__d__d
call fcn.0048bf00
lea ecx, [esp + 0x3c]
push edi
push ecx
call fcn.004c5700
add esp, 0x14
mov eax, 0xfffffffd
jmp 0x4c69ec
mov edx, dword [esp + 0x10]
push edx
lea eax, [esp + 0x34]
push eax
call fcn.004c5700
add esp, 8
xor eax, eax
jmp 0x4c69ec
push eax
push edi
push str._IsoReadUserData_2__d__d
call fcn.0048bf00
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x10]
push 1
push 0
push 0
push ecx
call edx
mov eax, dword [esp + 0x2c]
push eax
lea ecx, [esp + 0x50]
push ecx
call fcn.004c5700
add esp, 0x24
mov eax, 0xfffffffd
jmp 0x4c69ec
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ebp
push str.pWriteCallback___d__GetLastError___d
call fcn.0048bf00
mov edx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x10]
push 1
push 0
push 0
push edx
call eax
mov ecx, dword [esp + 0x2c]
push ecx
lea edx, [esp + 0x50]
push edx
call fcn.004c5700
add esp, 0x24
mov eax, 0xfffffffd
jmp 0x4c69ec
or eax, 0xffffffff
mov ecx, dword [esp + 0x1550]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00441cbb
add esp, 0x1544
ret