Function at 0x4496e0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x28
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
push esi
mov esi, eax
mov eax, dword [esp + 0x30]
push edi
mov edi, dword [eax + 0x204]
mov eax, dword [eax]
test byte [eax + 0xc], 1
mov dword [esp + 0x20], edi
mov dword [esp + 8], eax
je 0x449711
pop edi
xor eax, eax
pop esi
add esp, 0x28
ret
mov edi, dword [esi + 8]
push ebx
mov ebx, dword [esp + 0x3c]
shl ebx, 6
mov eax, dword [ebx + edi + 0x28]
push ebp
mov ebp, dword [ebx + edi + 0x18]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x30], eax
test edx, edx
je 0x44973f
test ecx, ecx
je 0x449749
pop ebp
pop ebx
pop edi
xor eax, eax
pop esi
add esp, 0x28
ret
test ecx, ecx
je 0x449749
cmp word [edi], 1
jg 0x449735
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp + 8]
test ecx, ecx
je 0x449759
cmp dword [esi + 0x28], 0
jne 0x449735
cmp dword [ebp + 0x2c], 0
jne 0x449735
cmp dword [esi + 0x24], 0
je 0x449769
test ecx, ecx
jne 0x449735
cmp word [eax], 0
je 0x449735
test byte [ebp + 6], 1
jne 0x449735
test ecx, ecx
je 0x449783
cmp word [edi], 1
jg 0x449735
test edx, edx
jne 0x449735
mov dx, word [esi + 6]
and dx, 1
je 0x449794
cmp dword [esp + 0x48], 0
jne 0x449735
cmp dword [esi + 0x18], 0
je 0x4497a0
cmp dword [ebp + 0x18], 0
jne 0x449735
cmp dword [esp + 0x44], 0
je 0x4497ad
cmp dword [ebp + 0x18], 0
jne 0x449735
test ecx, ecx
je 0x4497c8
cmp dword [esi + 0xc], 0
jne 0x449735
test ecx, ecx
je 0x4497c8
test dx, dx
jne 0x449735
test byte [ebx + edi + 0x24], 0x20
lea eax, [ebx + edi + 0x24]
mov dword [esp + 0x2c], eax
jne 0x449735
cmp dword [ebp + 0x1c], 0
je 0x449875
cmp dword [ebp + 0x18], 0
jne 0x449735
cmp dword [esp + 0x44], 0
jne 0x449735
test dx, dx
jne 0x449735
cmp word [edi], 1
jne 0x449735
mov eax, ebp
mov dl, 5
test byte [eax + 6], dl
jne 0x449735
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x44982b
cmp byte [eax + 4], 0x71
jne 0x449735
mov eax, dword [eax + 8]
test eax, eax
je 0x449735
cmp word [eax], 1
jne 0x449735
mov eax, ecx
test eax, eax
jne 0x449811
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x449875
cmp dword [ecx], eax
jle 0x449875
mov ecx, dword [ecx + 0xc]
add ecx, 0xe
jmp 0x449860
cmp word [ecx], 0
je 0x449735
mov edx, dword [esi + 0x18]
inc eax
add ecx, 0x14
cmp eax, dword [edx]
jl 0x449860
mov ecx, dword [ebx + edi + 0xc]
mov eax, dword [esp + 0x3c]
push 0
push 0
push 0
push 0x15
mov dword [eax + 0x204], ecx
call fcn.00441440
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x38]
mov dword [eax + 0x204], edx
mov eax, dword [ebp + 0x1c]
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
je 0x44992e
mov ecx, dword [esi + 0x1c]
mov edx, dword [esp + 0x10]
mov ebp, dword [esi + 0x18]
mov ebx, dword [esi + 0x28]
xor eax, eax
push eax
push esi
push edx
mov dword [esp + 0x2c], ecx
mov dword [esi + 0x18], eax
mov dword [esi + 8], eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x28], eax
call fcn.00440c80
add esp, 0xc
mov dword [esi + 0x28], ebx
mov dword [esi + 0x18], ebp
mov dword [esi + 8], edi
mov byte [esi + 4], 0x71
mov dword [esi + 0x24], 0
test eax, eax
jne 0x4498f8
mov eax, dword [esp + 0x20]
jmp 0x449906
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x1c], ecx
mov dword [eax + 0x24], 0
mov edx, dword [esp + 0x10]
mov dword [esi + 0x1c], eax
cmp byte [edx + 0x1e], 0
jne 0x449c3b
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x4498b0
mov ebx, dword [esp + 0x24]
mov ebp, edx
jmp 0x449932
mov ebp, dword [esp + 0x10]
mov ecx, dword [ebx + edi + 8]
mov eax, dword [ebx + edi + 0x18]
push ecx
push ebp
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1c], eax
call fcn.0042d860
mov edx, dword [ebx + edi + 0xc]
push edx
push ebp
call fcn.0042d860
mov eax, dword [ebx + edi + 0x10]
push eax
push ebp
call fcn.0042d860
mov eax, dword [ebx + edi + 0x14]
xor edx, edx
mov dword [ebx + edi + 8], edx
mov dword [ebx + edi + 0xc], edx
mov dword [ebx + edi + 0x10], edx
mov dword [ebx + edi + 0x18], edx
lea edi, [ebx + edi + 0x14]
add esp, 0x18
cmp eax, edx
je 0x4499b2
movzx ecx, word [eax + 0x20]
cmp cx, 1
jne 0x4499ab
mov ebx, dword [esp + 0x3c]
mov ecx, dword [ebx + 0x1a8]
cmp ecx, edx
jne 0x44999a
mov ecx, ebx
mov ebx, dword [ecx + 0x220]
mov dword [eax + 0x48], ebx
mov dword [ecx + 0x220], eax
jmp 0x4499b0
dec ecx
mov word [eax + 0x20], cx
mov dword [edi], edx
mov ebp, esi
mov ecx, dword [esp + 0x14]
mov eax, dword [ebp + 8]
mov ebx, dword [ecx + 8]
mov esi, dword [esp + 0x10]
movsx edi, word [ebx]
mov byte [esp + 0x3c], 0
mov dword [esp + 0x18], eax
test eax, eax
je 0x4499de
mov edx, dword [esp + 0x2c]
mov cl, byte [edx]
mov byte [esp + 0x3c], cl
jmp 0x4499ff
push 0
xor ecx, ecx
xor eax, eax
call fcn.00441df0
add esp, 4
mov dword [ebp + 8], eax
mov dword [esp + 0x18], eax
test eax, eax
je 0x449c29
mov esi, dword [esp + 0x10]
cmp edi, 1
jle 0x449a28
mov edx, dword [esp + 0x40]
inc edx
push edx
lea ecx, [edi - 1]
push ecx
push esi
call fcn.0043be70
add esp, 0xc
mov dword [ebp + 8], eax
cmp byte [esi + 0x1e], 0
mov dword [esp + 0x18], eax
jne 0x449c29
test edi, edi
jle 0x449a97
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
add ebx, 8
lea ecx, [edx + eax + 8]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x28], edi
jmp 0x449a50
mov edx, dword [esp + 0x1c]
mov edi, dword [edx + 0x28]
mov ebx, dword [esp + 0x10]
call fcn.00434750
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov ecx, 0x10
mov edi, ebx
push 0x40
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x24]
push 0
push esi
call fcn.00477c40
add ebx, 0x40
add esi, 0x40
add esp, 0xc
sub dword [esp + 0x28], 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], esi
jne 0x449a50
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
mov dl, byte [esp + 0x3c]
mov edi, dword [esp + 0x10]
mov byte [eax + ecx + 0x24], dl
mov esi, dword [ebp]
xor eax, eax
cmp dword [esi], eax
mov dword [esp + 0x28], eax
jle 0x449afc
mov dword [esp + 0x3c], eax
lea esp, [esp]
mov eax, dword [esi + 0xc]
mov ecx, dword [esp + 0x3c]
add eax, ecx
cmp dword [eax + 4], 0
jne 0x449aea
mov eax, dword [eax + 8]
test eax, eax
je 0x449aea
mov ebx, eax
mov edx, edi
call fcn.00437980
mov edx, dword [esi + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [edx + ecx + 4], eax
mov eax, dword [esp + 0x28]
add dword [esp + 0x3c], 0x14
inc eax
cmp eax, dword [esi]
mov dword [esp + 0x28], eax
jl 0x449ac0
mov esi, dword [esp + 0x14]
mov edx, dword [esi]
mov ebx, dword [esp + 0x30]
mov eax, dword [ebp]
push edx
push ebx
push eax
push edi
call fcn.00449690
add esp, 0x10
cmp dword [esp + 0x44], 0
je 0x449b3e
mov ecx, dword [esi]
mov edx, dword [ebp + 0x10]
push ecx
push ebx
push edx
push edi
call fcn.00449690
mov eax, dword [esi]
mov ecx, dword [ebp + 0x14]
push eax
push ebx
push ecx
push edi
call fcn.004495b0
add esp, 0x20
mov dword [ebp + 0x14], eax
mov eax, dword [esi + 0x18]
test eax, eax
je 0x449b51
mov dword [ebp + 0x18], eax
mov dword [esi + 0x18], 0
jmp 0x449b66
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x449b66
mov edx, dword [esi]
push edx
push ebx
push eax
push edi
call fcn.00449690
add esp, 0x10
mov eax, dword [esi + 0xc]
test eax, eax
je 0x449b7f
push 0
push eax
push edi
call fcn.00447480
add esp, 0xc
mov dword [esp + 0x3c], eax
jmp 0x449b87
mov dword [esp + 0x3c], 0
cmp dword [esp + 0x48], 0
je 0x449bd7
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [ebp + 0x14], eax
mov dword [ebp + 0xc], ecx
mov edx, dword [esi]
push edx
push ebx
push eax
push edi
call fcn.004495b0
mov dword [ebp + 0x14], eax
mov ecx, dword [esi + 0x14]
push 0
push ecx
push edi
call fcn.00447480
mov edx, dword [ebp + 0x14]
push edx
mov ecx, edi
call fcn.00440840
mov dword [ebp + 0x14], eax
mov eax, dword [esi + 0x10]
push 0
push eax
push edi
call fcn.0043afe0
add esp, 0x2c
mov dword [ebp + 0x10], eax
jmp 0x449bfa
mov ecx, dword [esi]
mov edx, dword [ebp + 0xc]
push ecx
push ebx
push edx
push edi
call fcn.004495b0
mov dword [ebp + 0xc], eax
push eax
mov eax, dword [esp + 0x50]
mov ecx, edi
call fcn.00440840
add esp, 0x14
mov dword [ebp + 0xc], eax
mov ax, word [esi + 6]
and ax, 1
or word [ebp + 6], ax
mov eax, dword [esi + 0x28]
test eax, eax
je 0x449c17
mov dword [ebp + 0x28], eax
mov dword [esi + 0x28], 0
mov ebp, dword [ebp + 0x1c]
mov ecx, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
test ebp, ebp
jne 0x4499b4
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x10]
push edx
push eax
call fcn.004352b0
add esp, 8
pop ebp
pop ebx
pop edi
mov eax, 1
pop esi
add esp, 0x28
ret