Function at 0x40d830
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x38
push esi
mov esi, dword [esp + 0x44]
mov eax, dword [esi + 0xd8]
mov cl, byte [eax + 0x12]
test cl, cl
jne 0x40d84d
or eax, 0xffffffff
pop esi
add esp, 0x38
ret
lea ecx, [esp + 4]
push edi
push ecx
mov ecx, dword [esi + 0xcc]
call fcn.004074e0
mov edx, dword [esi + 0xd8]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x44]
sub ecx, dword [edx + 0x18]
sar ecx, 0xd
mov word [eax], cx
mov edx, dword [esi + 0xd8]
mov ecx, dword [esp + 0x1c]
sub ecx, dword [edx + 0x18]
sar ecx, 0xd
mov word [eax + 2], cx
mov edx, dword [esi + 0xd8]
mov ecx, dword [esp + 0x20]
sub ecx, dword [edx + 0x18]
sar ecx, 0xd
mov word [eax + 4], cx
mov edx, dword [esi + 0xd8]
mov ecx, dword [esp + 0x24]
sub ecx, dword [edx + 0x18]
sar ecx, 0xd
mov word [eax + 6], cx
mov ecx, dword [esi + 0xd8]
mov dl, byte [ecx + 6]
test dl, dl
je 0x40d987
mov edx, dword [esi + 0xd0]
mov edi, dword [ecx + 0x1c]
mov edx, dword [edx]
sub edx, edi
sar edx, 0xa
mov word [eax + 8], dx
mov ecx, dword [esi + 0xd0]
mov edx, dword [esi + 0xd8]
mov ecx, dword [ecx + 4]
sub ecx, dword [edx + 0x1c]
sar ecx, 0xa
mov word [eax + 0xa], cx
mov edx, dword [esi + 0xd0]
mov ecx, dword [esi + 0xd8]
mov edx, dword [edx + 8]
sub edx, dword [ecx + 0x1c]
sar edx, 0xa
mov word [eax + 0xc], dx
mov ecx, dword [esi + 0xd0]
mov edx, dword [esi + 0xd8]
mov ecx, dword [ecx + 0xc]
sub ecx, dword [edx + 0x1c]
sar ecx, 0xa
mov word [eax + 0xe], cx
mov edx, dword [esi + 0xd0]
mov ecx, dword [esi + 0xd8]
mov edx, dword [edx + 0x10]
sub edx, dword [ecx + 0x1c]
sar edx, 0xa
mov word [eax + 0x10], dx
mov ecx, dword [esi + 0xd0]
mov edx, dword [esi + 0xd8]
mov ecx, dword [ecx + 0x14]
sub ecx, dword [edx + 0x1c]
sar ecx, 0xa
mov word [eax + 0x12], cx
mov edx, dword [esi + 0xd0]
mov ecx, dword [esi + 0xd8]
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x1c]
sar edx, 0xa
mov word [eax + 0x14], dx
mov ecx, dword [esi + 0xd0]
mov edx, dword [esi + 0xd8]
mov ecx, dword [ecx + 0x1c]
sub ecx, dword [edx + 0x1c]
sar ecx, 0xa
mov word [eax + 0x16], cx
jmp 0x40d9b7
mov word [eax + 8], 0
mov word [eax + 0xa], 1
mov word [eax + 0xc], 2
mov word [eax + 0xe], 3
mov word [eax + 0x10], 4
mov word [eax + 0x12], 5
mov word [eax + 0x14], 6
mov word [eax + 0x16], 7
mov edx, dword [esi + 0xd8]
xor ecx, ecx
pop edi
mov cl, byte [edx + 0x12]
dec ecx
cmp ecx, 0x27
ja case.0x40d9d5.5
xor edx, edx
mov dl, byte [ecx + 0x40da80]
jmp dword [edx*4 + 0x40da6c]
mov esi, dword [esi + 0xdc]
mov ecx, dword [esi + 0x21]
mov dword [eax + 0x18], ecx
mov dl, byte [esi + 0x20]
mov byte [eax + 0x1c], dl
mov cl, byte [esi + 0x1c]
mov byte [eax + 0x1d], cl
xor eax, eax
pop esi
add esp, 0x38
ret
mov esi, dword [esi + 0xdc]
mov dl, byte [esi + 0x45]
mov byte [eax + 0x18], dl
mov cl, byte [esi + 0x20]
mov byte [eax + 0x19], cl
mov dl, byte [esi + 0x44]
mov byte [eax + 0x1a], dl
mov cl, byte [esi + 0x1c]
mov byte [eax + 0x1b], cl
xor eax, eax
pop esi
add esp, 0x38
ret
mov esi, dword [esi + 0xdc]
mov dl, byte [esi + 0x22]
mov byte [eax + 0x18], dl
mov cl, byte [esi + 0x23]
mov byte [eax + 0x19], cl
mov dl, byte [esi + 0x1d]
mov byte [eax + 0x1a], dl
mov cl, byte [esi + 0x1e]
mov byte [eax + 0x1b], cl
mov dl, byte [esi + 0x1f]
mov byte [eax + 0x1c], dl
mov cl, byte [esi + 0x20]
mov byte [eax + 0x1d], cl
xor eax, eax
pop esi
add esp, 0x38
ret
mov esi, dword [esi + 0xdc]
mov dl, byte [esi + 0x20]
mov byte [eax + 0x18], dl
mov cl, byte [esi + 0x1c]
mov byte [eax + 0x19], cl
xor eax, eax
pop esi
add esp, 0x38
ret