Function at 0x4c7eb0
Capabilities:
Enumerate pe sections

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x69ea8b
push eax
mov eax, dword [0x8494ac]
mov dword fs:[0], esp
sub esp, 0x20
push ebp
xor ebp, ebp
cmp eax, ebp
push edi
mov edi, ecx
jne 0x4c83ad
push esi
push 0x3dc
call fcn.005b9e72
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, ebp
mov dword [esp + 0x34], ebp
je 0x4c7f00
mov ecx, eax
call fcn.00415060
mov esi, eax
jmp 0x4c7f02
xor esi, esi
cmp esi, ebp
mov dword [esp + 0x34], 0xffffffff
je 0x4c83ac
push ebx
mov ebx, 2
mov dword [esi + 0x17c], ebx
mov eax, dword [edi + 0x108c]
mov dword [esi + 0x34], eax
mov byte [esi + 0x25c], 1
mov cl, byte [edi + 0x19972da]
mov byte [esi + 0x276], cl
mov dl, byte [edi + 0x23b5]
mov byte [esi + 0x277], dl
mov al, byte [edi + 0x23b7]
mov byte [esi + 0x174], al
mov cl, byte [edi + 0x23b8]
mov byte [esi + 0x175], cl
mov dl, byte [edi + 0x23b9]
mov byte [esi + 0x176], dl
mov al, byte [edi + 0x33bc]
mov byte [esi + 0x177], al
mov cl, byte [edi + 0x23ba]
mov byte [esi + 0x178], cl
mov dl, byte [edi + 0x23b6]
mov byte [esi + 0x278], dl
mov eax, dword [edi + 0x1997900]
mov dword [esi + 0x2ec], eax
lea ecx, [edi + 0x33c4]
mov eax, dword [ecx]
lea edx, [esi + 0x180]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov cl, byte [ecx + 0xc]
mov byte [edx + 0xc], cl
lea edx, [edi + 0x33d1]
mov ecx, dword [edx]
lea eax, [esi + 0x18d]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov dl, byte [edx + 0xc]
mov byte [eax + 0xc], dl
lea eax, [edi + 0x1998537]
mov edx, dword [eax]
lea ecx, [esi + 0x384]
mov dword [ecx], edx
mov ax, word [eax + 4]
mov word [ecx + 4], ax
mov eax, 0x852be6
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4c8000
sub eax, edx
cmp eax, 0x14
jne 0x4c803d
mov al, byte [0x852bf8]
cmp al, 0x30
jl 0x4c803d
cmp al, 0x39
jg 0x4c803d
mov cl, byte [0x852bf9]
cmp cl, 0x30
jl 0x4c803d
cmp cl, 0x39
jg 0x4c803d
movsx eax, al
lea edx, [eax + eax*4]
movsx eax, cl
lea eax, [eax + edx*2 - 0x210]
jmp 0x4c803f
xor eax, eax
mov ecx, esi
mov byte [esi + 0x19f], al
call fcn.004155b0
mov ecx, dword [0x852b1c]
mov dword [esi + 0x10], ecx
mov edx, dword [0x852b20]
mov dword [esi + 0x14], edx
mov eax, dword [0x852b24]
mov dword [esi + 0x18], eax
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
lea ecx, [esi + 0x148]
mov dword [ecx], edx
mov edx, dword [esi + 0x18]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
movzx eax, word [0x852b28]
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x18]
fild dword [esp + 0x14]
push ecx
mov edx, ecx
push edx
fmul dword [0x6ab5d8]
mov dword [esp + 0x24], 0
fld st(0)
fcos
fstp dword [esp + 0x18]
fsin
fld dword [0x6a867c]
fmul st(1)
fadd dword [esp + 0x18]
fld dword [esp + 0x18]
fmul dword [0x6a867c]
fsub st(2)
fstp dword [esp + 0x20]
fstp dword [esp + 0x28]
fstp st(0)
call fcn.005d19bf
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], ecx
lea edx, [esi + 0x1c]
mov dword [edx], eax
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 0x28]
mov dword [edx + 4], ecx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2c]
mov dword [edx + 8], eax
lea eax, [edi + 0x33de]
mov ecx, esi
sub ecx, eax
lea edx, [ecx + 0xf0]
mov edi, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x4c8110
cmp dword [edi + 0x1997e7c], ebp
je 0x4c816f
mov eax, dword [esi + 0x2c4]
cmp eax, ebp
je 0x4c813b
push eax
call fcn.005ba86d
add esp, 4
mov dword [esi + 0x2c4], ebp
mov eax, dword [edi + 0x1997e7c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4c8144
sub eax, edx
inc eax
push eax
call fcn.005bb3af
mov dword [esi + 0x2c4], eax
mov ecx, dword [edi + 0x1997e7c]
add esp, 4
mov edx, eax
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4c8165
movzx edx, word [edi + 0x33be]
mov dword [esi + 0x130], edx
movzx eax, word [edi + 0x33c0]
mov dword [esi + 0x138], eax
movzx ecx, word [edi + 0x33c2]
mov dword [esi + 0x140], ecx
movzx edx, word [edi + 0x14]
mov dword [esi + 0x134], edx
movzx eax, word [edi + 0x16]
mov dword [esi + 0x13c], eax
movzx ecx, word [edi + 0x18]
mov dword [esi + 0x144], ecx
mov ecx, dword [esi + 0x130]
mov eax, edx
cmp eax, ecx
jge 0x4c81c6
mov dword [esi + 0x130], eax
mov eax, dword [esi + 0x13c]
cmp eax, dword [esi + 0x138]
jge 0x4c81da
mov dword [esi + 0x138], eax
mov eax, dword [esi + 0x144]
cmp eax, dword [esi + 0x140]
jge 0x4c81ee
mov dword [esi + 0x140], eax
mov dl, byte [edi + 0x19972d8]
mov byte [esi + 0x274], dl
mov al, byte [edi + 0x19972d9]
mov byte [esi + 0x275], al
cmp dword [edi + 4], ebp
je 0x4c8212
mov byte [esi + 0x28c], 1
mov dword [0x8494ac], esi
mov al, byte [edi + 0x199b0a0]
test al, al
je 0x4c8226
cmp al, 1
jne 0x4c8235
movzx ecx, al
mov dword [esi + 0x168], ecx
mov byte [edi + 0x199b0a0], bl
push esi
mov ecx, 0x7095e0
call fcn.0044d830
mov ecx, dword [0x21e8c5c]
mov eax, dword [ecx]
cmp eax, ecx
mov dword [0x21e8c64], eax
je 0x4c82c5
mov ebx, 0x58
mov eax, dword [eax + 0x10]
test eax, eax
je 0x4c82ae
xor ecx, ecx
mov cl, byte [eax + 6]
cmp cl, 0x64
je 0x4c82ae
xor edx, edx
mov dx, word [eax + 4]
push ecx
lea ecx, [edi + 0x7864]
push edx
call fcn.004602e0
mov ebp, eax
test ebp, ebp
je 0x4c82ae
cmp word [ebp + 0x1e], 0x5a
jne 0x4c829b
mov ecx, dword [esi + 0x34]
xor eax, eax
mov al, byte [ebp + 0x80]
push eax
push ecx
mov ecx, edi
call fcn.004c0480
cmp word [ebp + 0x1e], bx
jne 0x4c82ae
mov edx, dword [esi + 0x34]
push 0xd
push edx
mov ecx, edi
call fcn.004c0480
mov ecx, 0x21e8c64
call fcn.0040bbe0
mov eax, dword [0x21e8c64]
cmp eax, dword [0x21e8c5c]
jne 0x4c8256
mov eax, dword [edi + 0x19971bc]
mov ecx, dword [eax]
cmp ecx, eax
lea esi, [edi + 0x19971c4]
mov dword [esp + 0x10], 0
mov dword [esi], ecx
je 0x4c832d
mov bl, 0x2e
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x4c8314
xor ecx, ecx
mov cl, byte [eax + 6]
xor edx, edx
mov dx, word [eax + 4]
push ecx
mov ecx, 0x859304
push edx
call fcn.004602e0
test eax, eax
je 0x4c8314
cmp byte [eax + 0x64], bl
jne 0x4c8314
mov dword [esp + 0x10], 1
mov ecx, esi
call fcn.0040bbe0
mov eax, dword [esi]
cmp eax, dword [edi + 0x19971bc]
jne 0x4c82e3
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4c8376
lea ebx, [edi + 0x7864]
lea esi, [edi + 0x13c1]
mov dword [esp + 0x14], 5
mov ebp, 0x18
xor ecx, ecx
mov cl, byte [esi + 1]
xor edx, edx
mov dl, byte [esi]
push ecx
mov ecx, ebx
push edx
call fcn.0045f410
test eax, eax
je 0x4c836a
cmp byte [eax + 0x2a], 0x25
jne 0x4c836a
mov dword [esp + 0x10], 1
add esi, 0x22
dec ebp
jne 0x4c8346
dec dword [esp + 0x14]
jne 0x4c8341
mov ecx, dword [0x705814]
test ecx, ecx
pop ebx
je 0x4c83ac
mov eax, dword [ecx]
push 8
call dword [eax + 4]
test al, al
je 0x4c83ac
cmp byte [edi + 0x23b6], 3
jne 0x4c83ac
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4c83ac
push 0x346
push 8
call fcn.0041dfb0
add esp, 8
pop esi
mov ecx, dword [esp + 0x28]
pop edi
pop ebp
mov dword fs:[0], ecx
add esp, 0x2c
ret