Function at 0x4c0e50
Capabilities:
Enumerate pe sections

Disassembly:
push 0xffffffffffffffff
push 0x4d726b
mov eax, dword fs:[0]
push eax
mov eax, 0x11f0
call fcn.004c1c40
mov eax, dword [0x4ec0b4]
xor eax, esp
mov dword [esp + 0x11ec], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4ec0b4]
xor eax, esp
push eax
lea eax, [esp + 0x1204]
mov dword fs:[0], eax
mov esi, dword [esp + 0x1214]
mov ecx, dword [esi + 0x4c]
xor ebx, ebx
mov eax, ecx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x18], 0xfffffffd
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
xor ebp, ebp
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4c0ed0
sub eax, edi
mov word [esi + 0x20], ax
movzx eax, ax
xor edx, edx
cmp byte [eax + ecx - 1], 0x2f
lea eax, [esp + 0x44]
sete dl
push eax
mov eax, dword [esi + 0x60]
lea ecx, [esp + 0x1c]
push ecx
mov dword [0x589c18], 0xffffffff
mov dword [0x589c1c], ebx
mov dword [esp + 0x28], edx
lea edx, [esp + 0x30]
push edx
push eax
call fcn.00495a50
mov dword [esp + 0x24], eax
test eax, eax
je 0x4c1122
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
cmp eax, 0xfffffffd
jne 0x4c0f38
cmp ecx, 0xffffffff
je 0x4c1122
cmp eax, 0xfffffffe
jne 0x4c109f
cmp ecx, 0xffffffff
jne 0x4c109f
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x20], 1
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
xor edi, edi
mov dword [esi + 0x18], eax
mov eax, 0xffff
mov dword [esi + 0x1c], ecx
mov word [esi + 0x2c], ax
mov dword [esi + 0x38], edi
cmp dword [0x4ea60c], 2
jne 0x4c0ff3
movzx eax, word [esi + 0x22]
cmp ax, di
je 0x4c0fb7
movzx ecx, ax
push ecx
call fcn.004c2cc7
mov ebx, eax
add esp, 4
mov dword [esp + 0x30], ebx
cmp ebx, edi
jne 0x4c0fa1
push 4
call fcn.004b8b90
movzx edx, word [esi + 0x22]
mov eax, dword [esi + 0x40]
push edx
push eax
push ebx
call fcn.004c2da0
movzx ebx, word [esi + 0x22]
add esp, 0xc
movzx eax, word [esi + 0x24]
cmp ax, di
je 0x4c0ff3
movzx ecx, ax
push ecx
call fcn.004c2cc7
mov ebp, eax
add esp, 4
cmp ebp, edi
jne 0x4c0fd9
push 4
call fcn.004b8b90
movzx edx, word [esi + 0x24]
mov eax, dword [esi + 0x44]
push edx
push eax
push ebp
call fcn.004c2da0
movzx ecx, word [esi + 0x24]
add esp, 0xc
mov dword [esp + 0x2c], ecx
cmp word [esi + 0x22], di
je 0x4c1005
mov edx, dword [esi + 0x40]
push edx
call fcn.004c23c4
add esp, 4
cmp word [esi + 0x24], di
je 0x4c101c
mov eax, dword [esi + 0x44]
cmp dword [esi + 0x40], eax
je 0x4c101c
push eax
call fcn.004c23c4
add esp, 4
mov edx, dword [esi + 0x60]
xor ecx, ecx
xor eax, eax
mov word [esi + 0x22], cx
push edx
mov ecx, 0x546060
mov dword [esi + 0x44], edi
mov dword [esi + 0x40], edi
mov word [esi + 0x24], ax
call fcn.00420fd0
movzx eax, al
neg eax
sbb eax, eax
not eax
and eax, dword [0x4ea600]
cmp dword [0x54d404], 4
mov dword [esp + 0x14], eax
jne 0x4c1063
lea ecx, [esp + 0x44]
push ecx
push esi
call fcn.00495ba0
mov edx, dword [esp + 0x28]
push edx
call fcn.0043e6a0
mov edi, eax
lea ecx, [esp + 0x5c]
mov dword [esp + 0x38], edi
call fcn.0043ba40
mov dword [esp + 0x120c], 0
lea eax, [esp + 0x5c]
mov dword [0x5897fc], eax
test edi, edi
je 0x4c10d3
xor eax, eax
mov dword [esp + 0x14], eax
jmp 0x4c1155
mov edx, dword [esp + 0x28]
shr edx, 4
and edx, 1
cmp dword [esp + 0x20], edx
je 0x4c10b4
or eax, 0xffffffff
jmp 0x4c1127
cmp ecx, 0xffffffff
jb 0x4c0f5e
ja 0x4c10c8
cmp eax, 0xfffffffd
jbe 0x4c0f5e
xor edi, edi
xor eax, eax
xor ecx, ecx
jmp 0x4c0f60
cmp dword [esp + 0x20], 0
je 0x4c10ee
xor eax, eax
xor edi, edi
xor edx, edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edx
jmp 0x4c115d
movzx ecx, byte [0x54c1f5]
mov edx, dword [esi + 0x60]
neg ecx
sbb ecx, ecx
and ecx, 4
push ecx
push edx
lea ecx, [esp + 0x64]
call fcn.0043ba80
test al, al
jne 0x4c1151
mov dword [esp + 0x120c], 0xffffffff
lea ecx, [esp + 0x5c]
call fcn.0043c140
mov eax, 0x12
mov ecx, dword [esp + 0x1204]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x11ec]
xor ecx, esp
call fcn.004c1c22
add esp, 0x11fc
ret 4
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov dword [esi + 8], ecx
cmp dword [0x4ea60c], 2
jne 0x4c120a
movzx eax, word [esi + 0x22]
mov ecx, dword [esi + 0x40]
lea edx, [esp + 0x24]
push edx
push eax
mov eax, dword [esp + 0x38]
movzx edx, bx
push ecx
push edx
push eax
call fcn.004bb1c0
mov ecx, dword [esi + 0x40]
push ecx
mov edi, eax
call fcn.004c23c4
movzx edx, word [esp + 0x28]
movzx ecx, word [esi + 0x24]
add esp, 4
lea eax, [esp + 0x24]
push eax
movzx eax, word [esp + 0x30]
push ecx
mov word [esi + 0x22], dx
mov edx, dword [esi + 0x44]
push edx
push eax
push ebp
mov dword [esi + 0x40], edi
call fcn.004bb1c0
mov ecx, dword [esi + 0x44]
push ecx
mov edi, eax
call fcn.004c23c4
movzx edx, word [esp + 0x28]
add esp, 4
mov word [esi + 0x24], dx
mov dword [esi + 0x44], edi
test bx, bx
je 0x4c11ed
mov eax, dword [esp + 0x30]
push eax
call fcn.004c23c4
add esp, 4
cmp word [esp + 0x2c], 0
je 0x4c11fe
push ebp
call fcn.004c23c4
add esp, 4
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, edi
xor ebp, ebp
or ecx, edx
jne 0x4c1216
xor eax, eax
jmp 0x4c1220
cmp eax, 0xffffffff
jne 0x4c1224
mov eax, 8
mov dword [esp + 0x14], eax
mov ecx, 0x1f
mov word [esi], cx
mov ecx, eax
neg ecx
sbb ecx, ecx
and ecx, 0xa
add ecx, 0xa
mov word [esi + 2], cx
mov dword [esi + 0xc], ebp
cmp dword [esp + 0x20], ebp
je 0x4c124d
xor ecx, ecx
mov word [esi + 4], cx
jmp 0x4c1271
mov ecx, 8
mov word [esi + 4], cx
cmp byte [0x54b184], 0
je 0x4c1271
mov ecx, 9
mov word [esi + 4], cx
mov ecx, dword [esi + 8]
shl ecx, 0x10
mov dword [esi + 0xc], ecx
mov cx, word [esi + 4]
mov word [esi + 0x2e], cx
mov word [esi + 6], ax
cmp eax, ebp
jne 0x4c1291
cmp edx, ebp
jl 0x4c1291
jg 0x4c128b
cmp edi, ebp
jb 0x4c1291
mov eax, edi
mov ecx, edx
jmp 0x4c1295
xor eax, eax
xor ecx, ecx
mov dword [esi + 0x10], eax
mov eax, edi
and eax, edx
mov dword [esi + 0x14], ecx
cmp eax, 0xffffffff
je 0x4c12aa
mov eax, edi
mov ecx, edx
jmp 0x4c12ae
xor eax, eax
xor ecx, ecx
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x1c]
mov ecx, eax
mov dword [esi + 0x18], eax
mov eax, 0xffff
mov dword [0x589c10], ebp
mov dword [0x589c14], ebp
mov dword [0x589c08], ecx
mov dword [0x589c0c], edx
cmp word [esi + 0x2c], ax
jne 0x4c12e7
xor ecx, ecx
mov word [esi + 0x2c], cx
lea ebx, [ecx + 1]
jmp 0x4c12eb
mov ebx, dword [esp + 0x34]
mov edx, dword [esi + 0x38]
and edx, 0xff00
or edx, dword [esp + 0x28]
push ebp
push esi
mov dword [esi + 0x38], edx
call fcn.004bda40
mov edi, eax
cmp edi, ebp
je 0x4c1323
mov dword [esp + 0x120c], 0xffffffff
lea ecx, [esp + 0x5c]
call fcn.0043c140
mov eax, edi
jmp 0x4c1127
mov eax, dword [0x521458]
mov dword [esi + 0x30], eax
mov ecx, dword [0x52145c]
movzx eax, word [esi + 0x20]
mov dword [esi + 0x34], ecx
movzx ecx, word [esi + 0x22]
mov edx, dword [0x521420]
mov dword [esi + 0x28], edx
lea eax, [eax + ecx + 0x1e]
cdq
add dword [0x51ff70], eax
mov edi, 0xc
adc dword [0x51ff74], edx
cmp dword [esp + 0x20], ebp
jne 0x4c13e6
cmp byte [0x54b184], 0
je 0x4c13e6
push 0x80
lea edx, [esp + 0x1104]
push edx
mov ecx, 0x54b084
call fcn.00479150
push 0x80
lea eax, [esp + 0x1084]
push eax
lea ecx, [esp + 0x1108]
push ecx
call fcn.00487240
mov edx, dword [esi + 0xc]
push edx
lea eax, [esp + 0x1084]
push eax
call fcn.004b83a0
push 0x100
lea ecx, [esp + 0x1104]
push ecx
call fcn.00479130
push 0x80
lea edx, [esp + 0x1084]
push edx
call fcn.00479130
add dword [esi + 0x10], edi
adc dword [esi + 0x14], ebp
add dword [0x51ff70], edi
adc dword [0x51ff74], ebp
mov eax, dword [0x5213f4]
push eax
call fcn.004c4fb1
add esp, 4
test eax, eax
je 0x4c1411
mov ecx, dword [0x51ff6c]
push ecx
push ebp
mov ecx, 0x51ff10
call fcn.004343a0
push 0xe
call fcn.004b8b90
mov edx, dword [0x5213f4]
push edx
call fcn.004c56d9
mov ebp, eax
mov eax, dword [0x5213f4]
push eax
mov edi, edx
call fcn.004c4fb1
add esp, 8
test eax, eax
je 0x4c1442
mov ecx, dword [0x5213f4]
push ecx
call fcn.004c697f
add esp, 4
mov edx, ebp
and edx, edi
xor ecx, ecx
cmp edx, 0xffffffff
je 0x4c1460
cmp edi, ecx
jg 0x4c1460
jl 0x4c1457
cmp ebp, ecx
jae 0x4c1460
push 6
call fcn.004b8b90
xor ecx, ecx
or eax, 0xffffffff
mov dword [0x5897e8], ecx
mov dword [0x5897ec], ecx
mov dword [0x589c00], eax
cmp dword [esp + 0x20], ecx
jne 0x4c15ac
cmp dword [esp + 0x14], ecx
je 0x4c14ac
cmp ebx, ecx
je 0x4c1491
mov eax, 0xffff
mov word [esi + 0x2c], ax
lea ecx, [esp + 0x14]
push ecx
push esi
call fcn.004c0e10
mov edi, eax
mov eax, dword [0x589c00]
mov ebp, edx
xor ecx, ecx
jmp 0x4c15b4
push 0x4000
call fcn.004c2cc7
mov ebp, eax
xor ebx, ebx
add esp, 4
cmp ebp, ebx
jne 0x4c14dd
mov dword [esp + 0x120c], 0xffffffff
lea ecx, [esp + 0x5c]
call fcn.0043c140
lea eax, [ebx + 4]
jmp 0x4c1127
cmp dword [esp + 0x38], ebx
je 0x4c154f
push ebx
push ebp
push 0xffffffffffffffff
call fcn.00428520
push ebx
push 1
push ebp
mov dword [0x589c00], eax
call fcn.004b88e0
test eax, eax
je 0x4c1525
push ebp
call fcn.004c23c4
add esp, 4
mov dword [esp + 0x120c], 0xffffffff
lea ecx, [esp + 0x5c]
call fcn.0043c140
mov eax, 0xa
jmp 0x4c1127
mov dword [0x5897e8], ebx
mov dword [0x5897ec], ebx
push ebp
call fcn.004c23c4
mov edi, dword [0x5897e8]
mov ebp, dword [0x5897ec]
mov eax, dword [0x589c00]
add esp, 4
xor ecx, ecx
jmp 0x4c15b4
push 0x4000
push ebp
call fcn.004c0cb0
mov edi, eax
cmp edi, ebx
jbe 0x4c1531
cmp edi, 0xffffffff
je 0x4c1531
push ebx
push edi
call fcn.0040a540
push edi
push 1
push ebp
call fcn.004b88e0
cmp eax, edi
jne 0x4c158c
push 0x4000
push ebp
call fcn.004c0cb0
mov edi, eax
cmp edi, ebx
ja 0x4c1560
jmp 0x4c1531
push ebp
call fcn.004c23c4
mov edx, dword [0x51ff6c]
add esp, 4
push edx
push ebx
mov ecx, 0x51ff10
call fcn.004343a0
jmp 0x4c1507
mov ebp, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
add dword [0x51ff70], edi
adc dword [0x51ff74], ebp
cmp dword [esp + 0x20], ecx
je 0x4c15f5
xor eax, eax
mov edx, 0xfff7
and word [esi + 4], dx
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], ecx
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], ecx
mov word [esi + 6], ax
mov ecx, 0xa
mov eax, edx
and word [esi + 0x2e], ax
mov word [esi + 2], cx
jmp 0x4c180d
not eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], ebp
cmp byte [0x54b184], 0
je 0x4c1618
mov edx, edi
add edx, 0xc
mov eax, ebp
adc eax, ecx
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], eax
mov edx, dword [0x5897e8]
mov eax, dword [0x5897ec]
mov dword [esi + 0x18], edx
mov dword [esi + 0x1c], eax
cmp dword [0x5213d0], ecx
jne 0x4c1795
mov ecx, dword [0x5213f4]
push ecx
call fcn.004c19c0
test eax, eax
je 0x4c1795
mov edx, dword [esi + 0x34]
mov eax, dword [esi + 0x30]
mov ecx, dword [0x5213f4]
push 0
push edx
push eax
push ecx
call fcn.004c533e
add esp, 0x10
test eax, eax
jne 0x4c1795
cmp byte [0x54b184], al
je 0x4c1677
add edi, 0xc
adc ebp, eax
mov edx, dword [0x521480]
mov eax, edi
mov ecx, ebp
cmp edx, eax
jne 0x4c168e
mov eax, dword [0x521484]
cmp eax, ecx
je 0x4c1695
push 5
call fcn.004b8b90
mov eax, dword [esp + 0x14]
xor ebx, ebx
mov word [esi + 6], ax
cmp eax, ebx
je 0x4c16b3
cmp eax, 8
jne 0x4c16bc
mov ecx, 0x14
mov word [esi + 2], cx
jmp 0x4c16bc
mov edx, 0xa
mov word [esi + 2], dx
movzx eax, word [esi + 4]
test al, 1
jne 0x4c16cd
and eax, 0xfff7
mov word [esi + 4], ax
mov ax, word [esi + 4]
mov word [esi + 0x2e], ax
cmp dword [0x521468], 1
jne 0x4c171f
mov eax, dword [0x521450]
cmp eax, dword [0x5213f4]
je 0x4c171f
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x30]
push ebx
push ecx
push edx
push eax
call fcn.004c533e
add esp, 0x10
test eax, eax
je 0x4c171f
mov dword [esp + 0x120c], 0xffffffff
lea ecx, [esp + 0x5c]
call fcn.0043c140
mov eax, 0xb
jmp 0x4c1127
push 1
push esi
call fcn.004bda40
mov edi, eax
cmp edi, ebx
jne 0x4c1308
mov eax, dword [0x521464]
mov ecx, dword [0x521460]
mov edx, dword [0x5213f4]
push ebx
push eax
push ecx
push edx
call fcn.004c533e
add esp, 0x10
test eax, eax
jne 0x4c1701
test byte [esi + 4], 1
je 0x4c180d
push esi
call fcn.004be040
mov edi, eax
cmp edi, ebx
jne 0x4c1308
cmp dword [0x5213dc], ebx
je 0x4c1786
add dword [0x51ff70], 0x18
adc dword [0x51ff74], ebx
jmp 0x4c180d
add dword [0x51ff70], 0x10
adc dword [0x51ff74], ebx
jmp 0x4c180d
mov ax, word [esi + 6]
cmp ax, word [esp + 0x14]
je 0x4c17ba
mov ecx, dword [0x51ff6c]
push ecx
push 0
mov ecx, 0x51ff10
call fcn.004343a0
push 5
call fcn.004b8b90
cmp dword [esp + 0x14], 0
jne 0x4c17d8
cmp dword [esp + 0x1c], 0
jg 0x4c17d8
jl 0x4c17d1
cmp dword [esp + 0x18], 0
jae 0x4c17d8
push 0x10
call fcn.004b8b90
push esi
call fcn.004be040
mov edi, eax
test edi, edi
jne 0x4c1308
cmp dword [0x5213dc], eax
setne al
lea eax, [eax*8 + 0x10]
cdq
add dword [0x51ff70], eax
adc dword [0x51ff74], edx
mov dx, word [esi + 0x2e]
mov word [esi + 4], dx
cmp word [esi + 0x22], 0
je 0x4c1832
mov eax, dword [esi + 0x40]
cmp eax, dword [esi + 0x44]
je 0x4c182c
push eax
call fcn.004c23c4
add esp, 4
mov dword [esi + 0x40], 0
xor eax, eax
mov word [esi + 0x22], ax
mov dword [esp + 0x120c], 0xffffffff
lea ecx, [esp + 0x5c]
call fcn.0043c140
xor eax, eax
jmp 0x4c1127