Function at 0x4c0530
Capabilities:
Enumerate pe sections

Disassembly:
push 0xffffffffffffffff
push 0x4d691b
mov eax, dword fs:[0]
push eax
mov eax, 0x11f0
call fcn.004c1320
mov eax, dword [0x4eb0b4]
xor eax, esp
mov dword [esp + 0x11ec], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4eb0b4]
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 0x4c05b0
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 [0x588c10], 0xffffffff
mov dword [0x588c14], ebx
mov dword [esp + 0x28], edx
lea edx, [esp + 0x30]
push edx
push eax
call fcn.00495280
mov dword [esp + 0x24], eax
test eax, eax
je 0x4c0802
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
cmp eax, 0xfffffffd
jne 0x4c0618
cmp ecx, 0xffffffff
je 0x4c0802
cmp eax, 0xfffffffe
jne 0x4c077f
cmp ecx, 0xffffffff
jne 0x4c077f
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 [0x4e960c], 2
jne 0x4c06d3
movzx eax, word [esi + 0x22]
cmp ax, di
je 0x4c0697
movzx ecx, ax
push ecx
call fcn.004c23a7
mov ebx, eax
add esp, 4
mov dword [esp + 0x30], ebx
cmp ebx, edi
jne 0x4c0681
push 4
call fcn.004b8280
movzx edx, word [esi + 0x22]
mov eax, dword [esi + 0x40]
push edx
push eax
push ebx
call fcn.004c2480
movzx ebx, word [esi + 0x22]
add esp, 0xc
movzx eax, word [esi + 0x24]
cmp ax, di
je 0x4c06d3
movzx ecx, ax
push ecx
call fcn.004c23a7
mov ebp, eax
add esp, 4
cmp ebp, edi
jne 0x4c06b9
push 4
call fcn.004b8280
movzx edx, word [esi + 0x24]
mov eax, dword [esi + 0x44]
push edx
push eax
push ebp
call fcn.004c2480
movzx ecx, word [esi + 0x24]
add esp, 0xc
mov dword [esp + 0x2c], ecx
cmp word [esi + 0x22], di
je 0x4c06e5
mov edx, dword [esi + 0x40]
push edx
call fcn.004c1aa4
add esp, 4
cmp word [esi + 0x24], di
je 0x4c06fc
mov eax, dword [esi + 0x44]
cmp dword [esi + 0x40], eax
je 0x4c06fc
push eax
call fcn.004c1aa4
add esp, 4
mov edx, dword [esi + 0x60]
xor ecx, ecx
xor eax, eax
mov word [esi + 0x22], cx
push edx
mov ecx, 0x545058
mov dword [esi + 0x44], edi
mov dword [esi + 0x40], edi
mov word [esi + 0x24], ax
call fcn.00420c10
movzx eax, al
neg eax
sbb eax, eax
not eax
and eax, dword [0x4e9600]
cmp dword [0x54c3fc], 4
mov dword [esp + 0x14], eax
jne 0x4c0743
lea ecx, [esp + 0x44]
push ecx
push esi
call fcn.004953d0
mov edx, dword [esp + 0x28]
push edx
call fcn.004932c0
mov edi, eax
lea ecx, [esp + 0x5c]
mov dword [esp + 0x38], edi
call fcn.0043b3a0
mov dword [esp + 0x120c], 0
lea eax, [esp + 0x5c]
mov dword [0x5887f4], eax
test edi, edi
je 0x4c07b3
xor eax, eax
mov dword [esp + 0x14], eax
jmp 0x4c0835
mov edx, dword [esp + 0x28]
shr edx, 4
and edx, 1
cmp dword [esp + 0x20], edx
je 0x4c0794
or eax, 0xffffffff
jmp 0x4c0807
cmp ecx, 0xffffffff
jb 0x4c063e
ja 0x4c07a8
cmp eax, 0xfffffffd
jbe 0x4c063e
xor edi, edi
xor eax, eax
xor ecx, ecx
jmp 0x4c0640
cmp dword [esp + 0x20], 0
je 0x4c07ce
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 0x4c083d
movzx ecx, byte [0x54b1ed]
mov edx, dword [esi + 0x60]
neg ecx
sbb ecx, ecx
and ecx, 4
push ecx
push edx
lea ecx, [esp + 0x64]
call fcn.0043b3e0
test al, al
jne 0x4c0831
mov dword [esp + 0x120c], 0xffffffff
lea ecx, [esp + 0x5c]
call fcn.0043bab0
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.004c1302
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 [0x4e960c], 2
jne 0x4c08ea
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.004ba8a0
mov ecx, dword [esi + 0x40]
push ecx
mov edi, eax
call fcn.004c1aa4
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.004ba8a0
mov ecx, dword [esi + 0x44]
push ecx
mov edi, eax
call fcn.004c1aa4
movzx edx, word [esp + 0x28]
add esp, 4
mov word [esi + 0x24], dx
mov dword [esi + 0x44], edi
test bx, bx
je 0x4c08cd
mov eax, dword [esp + 0x30]
push eax
call fcn.004c1aa4
add esp, 4
cmp word [esp + 0x2c], 0
je 0x4c08de
push ebp
call fcn.004c1aa4
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 0x4c08f6
xor eax, eax
jmp 0x4c0900
cmp eax, 0xffffffff
jne 0x4c0904
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 0x4c092d
xor ecx, ecx
mov word [esi + 4], cx
jmp 0x4c0951
mov ecx, 8
mov word [esi + 4], cx
cmp byte [0x54a17c], 0
je 0x4c0951
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 0x4c0971
cmp edx, ebp
jl 0x4c0971
jg 0x4c096b
cmp edi, ebp
jb 0x4c0971
mov eax, edi
mov ecx, edx
jmp 0x4c0975
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 0x4c098a
mov eax, edi
mov ecx, edx
jmp 0x4c098e
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 [0x588c08], ebp
mov dword [0x588c0c], ebp
mov dword [0x588c00], ecx
mov dword [0x588c04], edx
cmp word [esi + 0x2c], ax
jne 0x4c09c7
xor ecx, ecx
mov word [esi + 0x2c], cx
lea ebx, [ecx + 1]
jmp 0x4c09cb
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.004bd130
mov edi, eax
cmp edi, ebp
je 0x4c0a03
mov dword [esp + 0x120c], 0xffffffff
lea ecx, [esp + 0x5c]
call fcn.0043bab0
mov eax, edi
jmp 0x4c0807
mov eax, dword [0x520450]
mov dword [esi + 0x30], eax
mov ecx, dword [0x520454]
movzx eax, word [esi + 0x20]
mov dword [esi + 0x34], ecx
movzx ecx, word [esi + 0x22]
mov edx, dword [0x520418]
mov dword [esi + 0x28], edx
lea eax, [eax + ecx + 0x1e]
cdq
add dword [0x51ef68], eax
mov edi, 0xc
adc dword [0x51ef6c], edx
cmp dword [esp + 0x20], ebp
jne 0x4c0ac6
cmp byte [0x54a17c], 0
je 0x4c0ac6
push 0x80
lea edx, [esp + 0x1104]
push edx
mov ecx, 0x54a07c
call fcn.00478a00
push 0x80
lea eax, [esp + 0x1084]
push eax
lea ecx, [esp + 0x1108]
push ecx
call fcn.00486b80
mov edx, dword [esi + 0xc]
push edx
lea eax, [esp + 0x1084]
push eax
call fcn.004b7a90
push 0x100
lea ecx, [esp + 0x1104]
push ecx
call fcn.004789e0
push 0x80
lea edx, [esp + 0x1084]
push edx
call fcn.004789e0
add dword [esi + 0x10], edi
adc dword [esi + 0x14], ebp
add dword [0x51ef68], edi
adc dword [0x51ef6c], ebp
mov eax, dword [0x5203ec]
push eax
call fcn.004c4691
add esp, 4
test eax, eax
je 0x4c0af1
mov ecx, dword [0x51ef64]
push ecx
push ebp
mov ecx, 0x51ef08
call fcn.00433ec0
push 0xe
call fcn.004b8280
mov edx, dword [0x5203ec]
push edx
call fcn.004c4db9
mov ebp, eax
mov eax, dword [0x5203ec]
push eax
mov edi, edx
call fcn.004c4691
add esp, 8
test eax, eax
je 0x4c0b22
mov ecx, dword [0x5203ec]
push ecx
call fcn.004c604f
add esp, 4
mov edx, ebp
and edx, edi
xor ecx, ecx
cmp edx, 0xffffffff
je 0x4c0b40
cmp edi, ecx
jg 0x4c0b40
jl 0x4c0b37
cmp ebp, ecx
jae 0x4c0b40
push 6
call fcn.004b8280
xor ecx, ecx
or eax, 0xffffffff
mov dword [0x5887e0], ecx
mov dword [0x5887e4], ecx
mov dword [0x588bf8], eax
cmp dword [esp + 0x20], ecx
jne 0x4c0c8c
cmp dword [esp + 0x14], ecx
je 0x4c0b8c
cmp ebx, ecx
je 0x4c0b71
mov eax, 0xffff
mov word [esi + 0x2c], ax
lea ecx, [esp + 0x14]
push ecx
push esi
call fcn.004c04f0
mov edi, eax
mov eax, dword [0x588bf8]
mov ebp, edx
xor ecx, ecx
jmp 0x4c0c94
push 0x4000
call fcn.004c23a7
mov ebp, eax
xor ebx, ebx
add esp, 4
cmp ebp, ebx
jne 0x4c0bbd
mov dword [esp + 0x120c], 0xffffffff
lea ecx, [esp + 0x5c]
call fcn.0043bab0
lea eax, [ebx + 4]
jmp 0x4c0807
cmp dword [esp + 0x38], ebx
je 0x4c0c2f
push ebx
push ebp
push 0xffffffffffffffff
call fcn.00428110
push ebx
push 1
push ebp
mov dword [0x588bf8], eax
call fcn.004b7fd0
test eax, eax
je 0x4c0c05
push ebp
call fcn.004c1aa4
add esp, 4
mov dword [esp + 0x120c], 0xffffffff
lea ecx, [esp + 0x5c]
call fcn.0043bab0
mov eax, 0xa
jmp 0x4c0807
mov dword [0x5887e0], ebx
mov dword [0x5887e4], ebx
push ebp
call fcn.004c1aa4
mov edi, dword [0x5887e0]
mov ebp, dword [0x5887e4]
mov eax, dword [0x588bf8]
add esp, 4
xor ecx, ecx
jmp 0x4c0c94
push 0x4000
push ebp
call fcn.004c0390
mov edi, eax
cmp edi, ebx
jbe 0x4c0c11
cmp edi, 0xffffffff
je 0x4c0c11
push ebx
push edi
call fcn.0040a4e0
push edi
push 1
push ebp
call fcn.004b7fd0
cmp eax, edi
jne 0x4c0c6c
push 0x4000
push ebp
call fcn.004c0390
mov edi, eax
cmp edi, ebx
ja 0x4c0c40
jmp 0x4c0c11
push ebp
call fcn.004c1aa4
mov edx, dword [0x51ef64]
add esp, 4
push edx
push ebx
mov ecx, 0x51ef08
call fcn.00433ec0
jmp 0x4c0be7
mov ebp, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
add dword [0x51ef68], edi
adc dword [0x51ef6c], ebp
cmp dword [esp + 0x20], ecx
je 0x4c0cd5
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 0x4c0eed
not eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], ebp
cmp byte [0x54a17c], 0
je 0x4c0cf8
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 [0x5887e0]
mov eax, dword [0x5887e4]
mov dword [esi + 0x18], edx
mov dword [esi + 0x1c], eax
cmp dword [0x5203c8], ecx
jne 0x4c0e75
mov ecx, dword [0x5203ec]
push ecx
call fcn.004c10a0
test eax, eax
je 0x4c0e75
mov edx, dword [esi + 0x34]
mov eax, dword [esi + 0x30]
mov ecx, dword [0x5203ec]
push 0
push edx
push eax
push ecx
call fcn.004c4a1e
add esp, 0x10
test eax, eax
jne 0x4c0e75
cmp byte [0x54a17c], al
je 0x4c0d57
add edi, 0xc
adc ebp, eax
mov edx, dword [0x520478]
mov eax, edi
mov ecx, ebp
cmp edx, eax
jne 0x4c0d6e
mov eax, dword [0x52047c]
cmp eax, ecx
je 0x4c0d75
push 5
call fcn.004b8280
mov eax, dword [esp + 0x14]
xor ebx, ebx
mov word [esi + 6], ax
cmp eax, ebx
je 0x4c0d93
cmp eax, 8
jne 0x4c0d9c
mov ecx, 0x14
mov word [esi + 2], cx
jmp 0x4c0d9c
mov edx, 0xa
mov word [esi + 2], dx
movzx eax, word [esi + 4]
test al, 1
jne 0x4c0dad
and eax, 0xfff7
mov word [esi + 4], ax
mov ax, word [esi + 4]
mov word [esi + 0x2e], ax
cmp dword [0x520460], 1
jne 0x4c0dff
mov eax, dword [0x520448]
cmp eax, dword [0x5203ec]
je 0x4c0dff
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x30]
push ebx
push ecx
push edx
push eax
call fcn.004c4a1e
add esp, 0x10
test eax, eax
je 0x4c0dff
mov dword [esp + 0x120c], 0xffffffff
lea ecx, [esp + 0x5c]
call fcn.0043bab0
mov eax, 0xb
jmp 0x4c0807
push 1
push esi
call fcn.004bd130
mov edi, eax
cmp edi, ebx
jne 0x4c09e8
mov eax, dword [0x52045c]
mov ecx, dword [0x520458]
mov edx, dword [0x5203ec]
push ebx
push eax
push ecx
push edx
call fcn.004c4a1e
add esp, 0x10
test eax, eax
jne 0x4c0de1
test byte [esi + 4], 1
je 0x4c0eed
push esi
call fcn.004bd730
mov edi, eax
cmp edi, ebx
jne 0x4c09e8
cmp dword [0x5203d4], ebx
je 0x4c0e66
add dword [0x51ef68], 0x18
adc dword [0x51ef6c], ebx
jmp 0x4c0eed
add dword [0x51ef68], 0x10
adc dword [0x51ef6c], ebx
jmp 0x4c0eed
mov ax, word [esi + 6]
cmp ax, word [esp + 0x14]
je 0x4c0e9a
mov ecx, dword [0x51ef64]
push ecx
push 0
mov ecx, 0x51ef08
call fcn.00433ec0
push 5
call fcn.004b8280
cmp dword [esp + 0x14], 0
jne 0x4c0eb8
cmp dword [esp + 0x1c], 0
jg 0x4c0eb8
jl 0x4c0eb1
cmp dword [esp + 0x18], 0
jae 0x4c0eb8
push 0x10
call fcn.004b8280
push esi
call fcn.004bd730
mov edi, eax
test edi, edi
jne 0x4c09e8
cmp dword [0x5203d4], eax
setne al
lea eax, [eax*8 + 0x10]
cdq
add dword [0x51ef68], eax
adc dword [0x51ef6c], edx
mov dx, word [esi + 0x2e]
mov word [esi + 4], dx
cmp word [esi + 0x22], 0
je 0x4c0f12
mov eax, dword [esi + 0x40]
cmp eax, dword [esi + 0x44]
je 0x4c0f0c
push eax
call fcn.004c1aa4
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.0043bab0
xor eax, eax
jmp 0x4c0807