Function at 0x77ccdd5d
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ebx
push esi
mov esi, dword [ebp + 0x24]
push 0x38
push 0
push esi
call sub.ntdll.dll_memset
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0x10]
mov dword [esi + 0x14], ecx
mov ecx, dword [ebp + 0x18]
mov dword [esi + 0x30], ecx
mov ecx, dword [ebp + 0x1c]
add esp, 0xc
test eax, eax
mov dword [esi], eax
mov dword [esi + 0x20], ebx
mov dword [esi + 0x34], ecx
je 0x77ceedf5
cmp ebx, 0x40
push edi
jb 0x77ccdf71
lea edi, [eax + ebx]
cmp edi, eax
jb 0x77ccdf71
movzx ecx, word [eax]
cmp cx, 0x5a4d
mov edx, 0xf8
jne 0x77ceedff
mov ecx, dword [eax + 0x3c]
test ecx, ecx
je 0x77ccdf71
cmp ecx, ebx
ja 0x77ccdf71
sub ebx, ecx
cmp ebx, edx
jbe 0x77ccdf71
add ecx, eax
lea ebx, [ecx + 0xf8]
cmp ebx, edi
mov dword [esi + 4], ecx
ja 0x77ccdf71
lea edi, [eax + 0x40]
cmp ecx, edi
jb 0x77ccdf71
mov ebx, dword [ebp + 0x10]
mov ecx, dword [esi + 4]
mov edi, ecx
sub edi, eax
add edi, edx
cmp edi, ebx
ja 0x77ceee0c
cmp dword [ecx], 0x4550
jne 0x77ccdf71
cmp word [ecx + 0x14], 0
je 0x77ccdf71
cmp byte [ebp + 0x14], 0
mov edx, 0x14c
jne 0x77ceee1e
mov edi, dword [esi + 4]
cmp byte [edi + 0x1a], 3
jb 0x77ceee48
movzx ecx, word [edi + 0x18]
cmp cx, 0x10b
jne 0x77ceee57
cmp byte [ebp + 0x14], 0
jne 0x77ceee6f
mov ecx, edi
push 4
sub ecx, eax
add ecx, 0x58
push ecx
push dword [ebp + 0x2c]
push dword [ebp + 0x28]
call fcn.77ccdf7d
lea ecx, [edi + 0x98]
mov eax, dword [edi + 0x54]
mov dword [esi + 0x18], eax
mov eax, dword [edi + 0x38]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x18]
test eax, eax
mov edi, dword [edi + 0x3c]
je 0x77ccdf71
cmp eax, dword [esi + 0x14]
jae 0x77ccdf71
test edi, edi
je 0x77ccdf71
lea eax, [edi - 1]
test edi, eax
jne 0x77ccdf71
mov eax, dword [esi + 8]
lea edx, [eax - 1]
test eax, edx
jne 0x77ccdf71
cmp eax, edi
jb 0x77ccdf71
test di, 0x1ff
jne 0x77ceeed4
mov eax, dword [esi + 4]
movzx eax, word [eax + 6]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 4]
movzx edx, word [eax + 0x14]
lea edx, [edx + eax + 0x18]
mov eax, dword [esi + 0xc]
imul eax, eax, 0x28
add eax, edx
cmp eax, edx
mov dword [ebp + 0x24], edx
mov dword [esi + 0x10], edx
jbe 0x77ccdf71
mov edi, dword [esi]
add edi, dword [ebp + 0x10]
cmp eax, edi
ja 0x77ccdf71
and dword [ebp + 0x14], 0
cmp dword [esi + 0xc], 0
jbe 0x77ccdf38
lea eax, [edx + 0x10]
mov edx, dword [eax + 4]
mov edi, dword [eax]
lea ebx, [edi + edx]
cmp ebx, edx
jb 0x77ccdf71
cmp ebx, dword [esi + 0x14]
ja 0x77ccdf71
mov edx, dword [esi + 8]
lea edx, [edx + edi - 1]
cmp edx, edi
jb 0x77ccdf71
inc dword [ebp + 0x14]
mov edx, dword [ebp + 0x14]
add eax, 0x28
cmp edx, dword [esi + 0xc]
jb 0x77ccdf0b
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
test eax, eax
mov edi, dword [ecx + 4]
mov ebx, dword [ecx]
mov dword [ebp + 0x10], edi
jne 0x77ceeee1
sub ecx, dword [esi]
push 8
push ecx
push dword [ebp + 0x2c]
push dword [ebp + 0x28]
call fcn.77ccdf7d
push edi
push ebx
push dword [ebp + 0x2c]
push dword [ebp + 0x28]
call fcn.77ccdf7d
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret 0x28
mov eax, 0xc000007b
jmp 0x77ccdf6a
mov eax, 0xc000000d
jmp 0x77ccdf6b
cmp cx, 0x4550
jne 0x77ccdf71
jmp 0x77ceee16
mov eax, 0xc000000d
jmp 0x77ccdf6a
mov dword [esi + 4], eax
jmp 0x77ccddff
movzx ecx, word [ecx + 4]
sub ecx, edx
je 0x77ceee3c
sub ecx, 0x74
je 0x77ceee3c
sub ecx, 0x40
je 0x77ceee8c
sub ecx, 0x8464
jne 0x77ccdf71
mov dword [esi + 0x1c], 0x1000
jmp 0x77ccde36
cmp byte [edi + 0x1b], 5
jae 0x77ccde43
jmp 0x77ccdf71
cmp cx, 0x20b
jne 0x77ccdf71
cmp cx, 0x10b
je 0x77ccde52
jmp 0x77ceee98
movzx ecx, word [edi + 4]
cmp cx, dx
je 0x77ccde5c
cmp cx, 0x1c0
je 0x77ccde5c
jmp 0x77ccdf71
mov dword [esi + 0x1c], 0x2000
jmp 0x77ccde36
cmp byte [ebp + 0x14], 0
je 0x77ceeeb4
movzx ecx, word [edi + 4]
cmp cx, 0x200
je 0x77ceeeb4
cmp cx, 0x8664
jne 0x77ccdf71
mov ecx, edi
push 4
sub ecx, eax
add ecx, 0x58
push ecx
push dword [ebp + 0x2c]
push dword [ebp + 0x28]
call fcn.77ccdf7d
lea ecx, [edi + 0xa8]
jmp 0x77ccde77
cmp edi, eax
je 0x77ccdece
jmp 0x77ccdf71
test ebx, ebx
je 0x77ceef52
test edi, edi
je 0x77ceef52
mov eax, dword [esi + 0x14]
cmp ebx, eax
ja 0x77ccdf71
add edi, ebx
cmp edi, eax
jne 0x77ccdf71
cmp edi, ebx
jb 0x77ccdf71
cmp ebx, dword [esi + 0x18]
jb 0x77ccdf71
test bl, 3
jne 0x77ccdf71
xor edi, edi
cmp dword [esi + 0xc], edi
jbe 0x77ceef42
lea eax, [edx + 0x10]
mov edx, dword [eax + 4]
test edx, edx
mov dword [ebp + 0x14], edx
je 0x77ceef39
mov edx, dword [eax]
add edx, dword [ebp + 0x14]
cmp ebx, edx
jb 0x77ccdf71
inc edi
add eax, 0x28
cmp edi, dword [esi + 0xc]
jb 0x77ceef22
mov eax, dword [ebp + 0x20]
mov edi, dword [ebp + 0x10]
mov dword [eax], ebx
mov dword [eax + 4], edi
jmp 0x77ccdf4b
and dword [eax], 0
and dword [eax + 4], 0
jmp 0x77ccdf4b