Function at 0x415cf0
Capabilities:
Enumerate pe sections

Disassembly:
test dword [0x87ed4c], 0xfffff000
jne 0x415d20
test dword [0x87ed4c], 0xffffffff
jne 0x415e40
call fcn.007663a0
jmp fcn.00415cf0
push edi
push esi
push ebp
push ebx
sub esp, 0x14
mov ebp, dword [edx]
test ebp, ebp
je 0x415e33
mov ebx, dword [edx + 8]
mov ecx, dword [edx + 0xc]
mov edx, dword [ebp + 0x18]
movzx ebp, byte [edx + 5]
movzx esi, byte [edx + 7]
mov dword [esp], eax
movzx eax, byte [edx + 6]
mov dword [esp + 8], ebx
shl ebp, 0x10
shl eax, 8
xor edi, edi
add eax, esi
movzx esi, byte [edx + 9]
mov dword [esp + 0xc], ecx
movzx ecx, byte [edx + 4]
mov dword [esp + 4], edx
shl ecx, 0x18
add ecx, ebp
lea ebp, [edi + edi]
add ecx, eax
movzx eax, byte [edx + 8]
mov dword [esp + 0x10], 0
shl eax, 0x18
shl esi, 0x10
add eax, esi
adc edi, 0
movzx esi, byte [edx + 0xa]
movzx edx, byte [edx + 0xb]
shl esi, 8
add esi, edx
add eax, esi
adc edi, 0
add ebp, eax
mov eax, dword [esp]
add ecx, edi
sub ecx, dword [esp + 0xc]
sub ebp, ebx
or ebp, ecx
mov ecx, dword [esp + 4]
je 0x415e27
mov eax, dword [eax + 0x18]
xor edx, edx
mov dword [esp], eax
add edx, dword [esp]
movzx ebx, byte [edx + ecx + 4]
movzx ebp, byte [edx + ecx + 5]
movzx eax, byte [edx + ecx + 6]
movzx esi, byte [edx + ecx + 7]
inc dword [esp + 0x10]
mov dword [esp + 4], edx
shl ebx, 0x18
shl ebp, 0x10
add ebx, ebp
xor edi, edi
shl eax, 8
add eax, esi
movzx esi, byte [edx + ecx + 9]
lea ebp, [edi + edi]
add ebx, eax
movzx eax, byte [edx + ecx + 8]
shl eax, 0x18
shl esi, 0x10
add eax, esi
movzx esi, byte [edx + ecx + 0xa]
movzx edx, byte [edx + ecx + 0xb]
adc edi, 0
shl esi, 8
add esi, edx
add eax, esi
mov edx, dword [esp + 4]
adc edi, 0
add ebp, eax
sub ebp, dword [esp + 8]
add ebx, edi
sub ebx, dword [esp + 0xc]
or ebp, ebx
jne 0x415db7
mov eax, dword [esp + 0x10]
add esp, 0x14
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xffffffff
add esp, 0x14
pop ebx
pop ebp
pop esi
pop edi
ret
push edi
push esi
push ebp
push ebx
sub esp, 0x1c
mov dword [esp + 4], eax
mov ecx, dword [edx]
test ecx, ecx
je 0x415f82
mov eax, dword [edx + 8]
mov dword [esp + 8], eax
mov eax, dword [edx + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [ecx + 0x18]
xor edi, edi
mov dword [esp + 0x10], edi
movzx esi, byte [eax + 4]
shl esi, 0x18
movzx ebp, byte [eax + 5]
shl ebp, 0x10
add esi, ebp
movzx ebx, byte [eax + 6]
shl ebx, 8
movzx ecx, byte [eax + 7]
add ebx, ecx
lea ebp, [edi + edi]
add esi, ebx
mov dword [esp], esi
movzx ebx, byte [eax + 8]
xor ecx, ecx
shld ecx, ebx, 0x18
shl ebx, 0x18
movzx edx, byte [eax + 9]
xor esi, esi
shld esi, edx, 0x10
shl edx, 0x10
add ebx, edx
adc ecx, esi
movzx edx, byte [eax + 0xa]
shld edi, edx, 8
shl edx, 8
movzx esi, byte [eax + 0xb]
add edx, esi
add ebx, edx
adc ecx, edi
add ebp, ebx
mov edx, dword [esp]
add edx, ecx
sub ebp, dword [esp + 8]
sub edx, dword [esp + 0xc]
or ebp, edx
je 0x415f76
mov edx, dword [esp + 4]
mov edx, dword [edx + 0x18]
xor ecx, ecx
mov dword [esp], edx
mov dword [esp + 0x14], eax
add ecx, dword [esp]
inc dword [esp + 0x10]
mov edx, dword [esp + 0x14]
movzx ebp, byte [ecx + edx + 4]
shl ebp, 0x18
movzx esi, byte [ecx + edx + 5]
shl esi, 0x10
add ebp, esi
movzx edi, byte [ecx + edx + 6]
shl edi, 8
movzx ebx, byte [ecx + edx + 7]
xor eax, eax
add edi, ebx
mov dword [esp + 4], eax
add ebp, edi
mov dword [esp + 0x18], ebp
movzx esi, byte [ecx + edx + 8]
xor ebp, ebp
shld ebp, esi, 0x18
shl esi, 0x18
movzx edi, byte [ecx + edx + 9]
xor ebx, ebx
shld ebx, edi, 0x10
shl edi, 0x10
add esi, edi
adc ebp, ebx
movzx ebx, byte [ecx + edx + 0xa]
shld eax, ebx, 8
shl ebx, 8
movzx edx, byte [ecx + edx + 0xb]
add ebx, edx
add esi, ebx
adc ebp, eax
mov ebx, dword [esp + 4]
add ebx, esi
mov esi, dword [esp + 0x18]
add esi, ebp
sub ebx, dword [esp + 8]
sub esi, dword [esp + 0xc]
or ebx, esi
jne 0x415eeb
mov eax, dword [esp + 0x10]
add esp, 0x1c
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xffffffff
add esp, 0x1c
pop ebx
pop ebp
pop esi
pop edi
ret