Function at 0x416c25
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x20
push ebx
push ebp
mov ebp, dword [esp + 0x2c]
push esi
mov esi, dword [esp + 0x38]
push edi
mov edi, ecx
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x2c], edi
mov eax, dword [edi + 0x38]
movzx ebx, word [edi + 0x18]
mov dword [esp + 0x20], eax
movzx eax, byte [edi + 9]
mov dword [esp + 0x24], eax
mov eax, dword [edi + 0x40]
lea eax, [eax + ecx*2]
add ecx, ebp
mov dword [esp + 0x10], eax
movzx eax, byte [edi + 0xc]
add eax, ebx
mov dword [esp + 0x18], ecx
add eax, edx
mov dword [esp + 0x1c], eax
cmp edx, ebp
jge 0x416cc9
mov eax, ebp
mov ecx, edi
sub eax, edx
push esi
push eax
lfence
call fcn.00416b69
mov edx, eax
mov dword [esp + 0x3c], edx
pop ecx
pop ecx
cmp edx, ebx
jle 0x416ca6
pop edi
pop esi
pop ebp
mov ecx, 0x11379
pop ebx
add esp, 0x20
jmp fcn.0045f8ea
lfence
mov ecx, dword [edi + 0x40]
lea eax, [ebx + ebx]
push eax
lea eax, [ecx + edx*2]
push eax
push ecx
call fcn.00463550
mov eax, dword [esp + 0x28]
add esp, 0xc
sub ebx, dword [esp + 0x34]
mov ecx, dword [esp + 0x18]
cmp ecx, eax
jge 0x416ce1
sub eax, ecx
mov edx, ecx
push esi
push eax
mov ecx, edi
lfence
call fcn.00416b69
pop ecx
pop ecx
sub ebx, eax
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
movzx ecx, byte [eax + edx + 5]
movzx eax, byte [eax + edx + 6]
shl ecx, 8
or ecx, eax
dec ecx
movzx eax, cx
xor ecx, ecx
inc eax
add eax, edx
mov dword [esp + 0x34], eax
cmp eax, dword [esp + 0x10]
jb 0x416e8c
mov eax, dword [esp + 0x14]
lfence
cmp ebp, eax
jge 0x416d72
mov ecx, eax
lea eax, [ebx + ebx]
sub ecx, ebp
cmp dword [esp + 0x38], ecx
lfence
cmovl ecx, dword [esp + 0x38]
mov esi, dword [edi + 0x40]
push eax
push esi
mov dword [esp + 0x20], ecx
lea eax, [esi + ecx*2]
push eax
call fcn.00463550
push dword [esp + 0x48]
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x44]
push dword [esp + 0x28]
mov ecx, edi
push ebp
push esi
push eax
call fcn.00416a47
mov esi, dword [esp + 0x5c]
add esp, 0x20
test eax, eax
jne 0x416e8c
add ebx, dword [esp + 0x18]
xor ecx, ecx
mov eax, dword [esp + 0x14]
cmp byte [edi + 0xc], 0
mov edx, ecx
mov dword [esp + 0x18], edx
jbe 0x416e1c
lea ecx, [edi + 0x1c]
mov dword [esp + 0x1c], ecx
movzx esi, word [ecx]
sub esi, ebp
add esi, eax
js 0x416dfc
cmp esi, dword [esp + 0x38]
jge 0x416dfc
lfence
mov eax, dword [edi + 0x40]
lea ecx, [eax + esi*2]
mov dword [esp + 0x28], ecx
cmp ebx, esi
jle 0x416dc0
mov eax, ebx
sub eax, esi
add eax, eax
push eax
push ecx
lea eax, [ecx + 2]
push eax
lfence
call fcn.00463550
add esp, 0xc
mov ecx, dword [esp + 0x3c]
add esi, ebp
mov edx, esi
inc ebx
call fcn.00416874
push dword [esp + 0x3c]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x38]
push 1
push esi
push dword [esp + 0x34]
mov ecx, edi
push eax
call fcn.00416a47
add esp, 0x14
test eax, eax
jne 0x416e88
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
movzx eax, byte [edi + 0xc]
inc edx
add ecx, 2
mov dword [esp + 0x18], edx
cmp edx, eax
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x14]
jl 0x416d89
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x10]
lfence
mov eax, dword [edi + 0x40]
push esi
lea ecx, [eax + ebx*2]
mov eax, dword [esp + 0x3c]
sub eax, ebx
push eax
lea eax, [ebx + ebp]
push eax
push ecx
lea eax, [esp + 0x44]
mov ecx, edi
push eax
call fcn.00416a47
add esp, 0x14
test eax, eax
jne 0x416e8c
mov edx, dword [esp + 0x20]
xor ecx, ecx
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x38]
movzx eax, ax
mov word [edi + 0x18], ax
shr eax, 8
mov byte [edi + 0xc], cl
mov ecx, dword [esp + 0x34]
mov byte [ebx + edx + 3], al
mov al, byte [edi + 0x18]
mov byte [ebx + edx + 4], al
mov eax, ecx
sub eax, edx
sub cl, dl
sar eax, 8
mov byte [ebx + edx + 5], al
xor eax, eax
mov byte [ebx + edx + 6], cl
jmp 0x416efd
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
mov edx, ebx
mov dword [esp + 0x24], ebx
test ebx, ebx
jle 0x416ef0
mov ebx, ebp
lea ecx, [ebp*2]
shl ebx, 2
xor edi, edi
mov dword [esp + 0x34], ecx
mov eax, dword [esi + 0xc]
cmp word [ecx + eax], di
jne 0x416ed5
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
push dword [eax + ebx]
push ecx
call dword [ecx + 0x4c]
mov edx, dword [esp + 0x3c]
pop ecx
pop ecx
mov ecx, dword [esi + 0xc]
mov word [edx + ecx], ax
mov ecx, edx
mov edx, dword [esp + 0x24]
add ecx, 2
add ebx, 4
dec edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x24], edx
test edx, edx
jg 0x416eac
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x38]
push edi
push ebx
mov edx, ebp
mov ecx, esi
call fcn.00416885
pop ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret