Function at 0x4174c0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x18
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x2c]
mov eax, dword [edi]
mov esi, dword [edi + 8]
mov ecx, dword [eax]
mov ebp, dword [eax + 0xc]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x14], ecx
call fcn.0040eb00
mov eax, dword [edi + 0x18]
dec eax
js 0x41764b
mov edx, eax
imul edx, edx, 0x38
lea ecx, [edx + esi + 0x20]
mov edx, eax
shl edx, 6
inc eax
mov dword [esp + 0x10], ecx
lea esi, [edx + edi + 0x58]
mov dword [esp + 0x18], eax
jmp 0x417510
mov edx, dword [esi - 0x10]
mov ecx, ebp
call fcn.0040d4e0
mov al, byte [esi - 7]
cmp al, 0x88
je 0x41753c
mov ecx, dword [esi - 4]
movzx edx, al
mov eax, dword [esi]
push ebp
call fcn.00414e70
mov dl, byte [esi - 6]
add esp, 4
mov eax, ebp
call fcn.0040d660
test dword [esi - 0x30], 0xf1000
je 0x4175ac
mov eax, dword [esi + 4]
test eax, eax
jle 0x4175ac
mov edx, dword [esi - 0x14]
mov ecx, ebp
call fcn.0040d4e0
mov eax, dword [esi + 4]
test eax, eax
mov ecx, dword [esi + 8]
lea edi, [ecx + eax*8 - 8]
jle 0x417597
mov ebx, eax
mov edx, dword [edi + 4]
inc edx
push edx
mov ecx, ebp
call fcn.0040d680
mov eax, dword [edi + 4]
mov ecx, dword [edi]
push ebp
mov edx, 0x43
call fcn.00414e70
mov eax, dword [edi + 4]
dec eax
push eax
mov ecx, ebp
call fcn.0040d680
add esp, 0xc
sub edi, 8
dec ebx
jne 0x417566
mov ecx, dword [esi + 8]
mov edx, dword [esp + 0x14]
push ecx
push edx
call fcn.00408130
mov edi, dword [esp + 0x34]
add esp, 8
mov edx, dword [esi - 0x18]
mov ecx, ebp
call fcn.0040d4e0
mov eax, dword [esi - 0x24]
test eax, eax
je 0x41762e
push ebp
mov ecx, 0x71
call fcn.00414e50
mov ebx, eax
mov eax, dword [esi - 0x30]
add esp, 4
test eax, 0x800000
jne 0x4175eb
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
push ebp
mov ecx, 0x3e
call fcn.00414e50
add esp, 4
mov eax, dword [esi - 0x1c]
test eax, eax
jl 0x417600
push ebp
mov ecx, 0x3e
call fcn.00414e50
add esp, 4
cmp byte [esi - 7], 3
mov eax, dword [esi - 0xc]
push ebp
jne 0x417614
mov ecx, dword [esi - 4]
mov edx, 2
jmp 0x41761b
xor ecx, ecx
mov edx, 1
call fcn.00414e70
add esp, 4
push ebx
mov ecx, ebp
call fcn.0040d680
add esp, 4
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
sub ecx, 0x38
sub esi, 0x40
dec eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
jne 0x417510
mov edx, dword [edi + 0x14]
mov ecx, ebp
call fcn.0040d4e0
mov eax, dword [edi + 0x18]
test eax, eax
mov dword [esp + 0x1c], 0
lea ebx, [edi + 0x28]
jle 0x417794
jmp 0x417670
movzx ecx, byte [ebx + 0x28]
mov edx, dword [esp + 0x20]
imul ecx, ecx, 0x38
mov eax, dword [ecx + edx + 0x14]
lea ecx, [ecx + edx + 8]
test byte [eax + 0x22], 2
jne 0x4176d9
mov edx, dword [eax + 0x1c]
test edx, edx
jne 0x4176d9
test byte [edi + 4], 0x20
jne 0x4176d9
mov al, byte [edi + 6]
test al, al
mov esi, dword [ebx]
jne 0x4176b8
test esi, 0x800000
jne 0x4176b8
mov eax, dword [ecx + 0x18]
push ebp
mov ecx, 0x2b
call fcn.00414e50
add esp, 4
test esi, 0xf0000
je 0x4176d9
test esi, 0x20000000
jne 0x4176d9
mov eax, dword [ebx + 0x14]
push ebp
mov ecx, 0x2b
call fcn.00414e50
add esp, 4
test dword [ebx], 0xf0000
je 0x41777d
mov eax, dword [esp + 0x14]
mov cl, byte [eax + 0x1e]
test cl, cl
jne 0x41777d
mov ecx, dword [ebx + 8]
mov esi, dword [edi + 0xc]
mov dword [esp + 0x18], ecx
mov eax, esi
mov ecx, ebp
call fcn.0040d6f0
mov ecx, eax
mov eax, ebp
call fcn.0040d5c0
cmp esi, eax
jge 0x41777d
sub eax, esi
mov dword [esp + 0x10], eax
lea ebx, [ebx]
mov edx, dword [ecx + 4]
cmp edx, dword [ebx + 0x10]
jne 0x41776f
mov al, byte [ecx]
cmp al, 0x1c
jne 0x417762
mov edx, dword [esp + 0x18]
mov esi, dword [edx + 4]
xor eax, eax
test esi, esi
jle 0x41776f
mov edi, dword [ecx + 8]
mov edx, dword [edx + 8]
cmp edi, dword [edx]
je 0x417753
inc eax
add edx, 4
cmp eax, esi
jl 0x417741
mov edi, dword [esp + 0x2c]
jmp 0x41776f
mov edi, dword [esp + 0x2c]
mov dword [ecx + 8], eax
mov eax, dword [ebx + 0x14]
mov dword [ecx + 4], eax
jmp 0x41776f
cmp al, 0x3d
jne 0x41776f
mov edx, dword [ebx + 0x14]
mov dword [ecx + 4], edx
mov byte [ecx], 0x48
mov eax, dword [esp + 0x10]
add ecx, 0x14
dec eax
mov dword [esp + 0x10], eax
jne 0x417720
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi + 0x18]
inc eax
add ebx, 0x40
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x417670
mov ecx, dword [esp + 0x14]
fld qword [edi + 0x20]
mov eax, dword [esp + 0x24]
push ecx
fstp qword [eax + 0x1c0]
mov ebx, edi
call fcn.00417430
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret