Function at 0x4469bf
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
push ebx
mov ebx, ecx
push esi
mov esi, edx
mov dword [esp + 0x24], ebx
push edi
mov eax, dword [ebx + 0x1ec]
mov dword [esp + 0x38], eax
mov eax, dword [ebx]
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], eax
test byte [eax + 0x3c], 1
jne 0x446ffd
imul ecx, dword [ebp + 8], 0x50
mov eax, dword [esi + 0x20]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
mov edx, dword [ecx + eax + 0x38]
mov edi, dword [ecx + eax + 0x1c]
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x24], edx
xor edx, edx
inc edx
cmp dword [ebp + 0x10], 0
mov dword [esp + 0x34], edx
je 0x446a65
test ecx, ecx
jne 0x446ffd
cmp dword [eax], edx
jg 0x446ffd
mov eax, dword [esi + 0x24]
test eax, eax
je 0x446a40
test dword [eax + 4], 0x200000
jne 0x446ffd
mov ecx, dword [esi]
call fcn.0042f75b
test eax, 0x200000
jne 0x446ffd
mov ecx, dword [esi + 0x30]
call fcn.0042f75b
test eax, 0x200000
jne 0x446ffd
mov eax, dword [edi + 0x3c]
xor edx, edx
mov ecx, dword [edi + 0x20]
test eax, eax
je 0x446a7a
cmp dword [esi + 0x3c], edx
jne 0x446ffd
cmp dword [edi + 0x40], edx
jne 0x446ffd
movzx edx, word [esi + 6]
test dl, 0x40
je 0x446a94
test eax, eax
jne 0x446ffd
cmp dword [ecx], 0
je 0x446ffd
movzx ecx, word [edi + 6]
test cl, 1
jne 0x446ffd
test eax, eax
je 0x446ac5
mov ecx, dword [esp + 0x14]
cmp dword [ecx], 1
jg 0x446ffd
cmp dword [ebp + 0xc], 0
jne 0x446ffd
mov ecx, edx
and ecx, 1
je 0x446ad6
cmp dword [ebp + 0x10], 0
jne 0x446ffd
cmp dword [esi + 0x30], 0
je 0x446ae6
cmp dword [edi + 0x30], 0
jne 0x446ffd
cmp dword [ebp + 0xc], 0
je 0x446af6
cmp dword [edi + 0x30], 0
jne 0x446ffd
test eax, eax
je 0x446b0e
xor eax, eax
cmp dword [esi + 0x24], eax
jne 0x446ffd
test cx, cx
jne 0x446ffd
movzx eax, word [edi + 6]
test eax, 0x1800
jne 0x446ffd
test edx, 0x800
je 0x446b30
xor eax, eax
cmp dword [edi + 0x34], eax
jne 0x446ffd
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test byte [edx + eax + 0x2c], 0x20
jne 0x446ffd
xor edx, edx
cmp dword [edi + 0x34], edx
je 0x446bdd
cmp dword [edi + 0x30], edx
jne 0x446ffd
cmp dword [ebp + 0xc], edx
jne 0x446ffd
test cx, cx
jne 0x446ffd
xor ecx, ecx
inc ecx
cmp dword [eax], ecx
jne 0x446ffd
mov ecx, edi
test byte [ecx + 6], 5
jne 0x446ffd
mov edx, dword [ecx + 0x34]
test edx, edx
je 0x446b91
cmp byte [ecx + 4], 0x74
jne 0x446ffd
mov eax, dword [ecx + 0x20]
cmp dword [eax], 1
jl 0x446ffd
mov eax, dword [edi]
mov ecx, dword [ecx]
mov eax, dword [eax]
cmp eax, dword [ecx]
jne 0x446ffd
mov ecx, edx
test ecx, ecx
jne 0x446b76
mov edx, dword [esi + 0x30]
test edx, edx
je 0x446bdd
xor eax, eax
mov ecx, eax
cmp dword [edx], eax
jle 0x446bdd
mov eax, dword [edx + 4]
add eax, 0x14
xor ebx, ebx
cmp word [eax], bx
mov ebx, dword [esp + 0x28]
je 0x446ffd
inc ecx
add eax, 0x18
cmp ecx, dword [edx]
jl 0x446bc6
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + ecx + 0x10]
mov ecx, ebx
mov dword [ebx + 0x1ec], eax
xor eax, eax
push eax
push eax
push eax
push 0x15
pop edx
call fcn.00434761
mov eax, dword [esp + 0x44]
add esp, 0xc
mov dword [ebx + 0x1ec], eax
mov eax, dword [edi + 0x34]
mov dword [esp + 0x2c], eax
test eax, eax
je 0x446ca9
mov eax, dword [esp + 0x20]
mov edx, eax
mov ebx, dword [esi + 0x30]
mov edi, dword [esi + 0x3c]
mov esi, dword [esi + 0x40]
mov ecx, dword [eax + 0x34]
mov dword [esp + 0x30], ecx
xor ecx, ecx
mov dword [eax + 0x30], ecx
mov dword [eax + 0x20], ecx
mov dword [eax + 0x34], ecx
mov dword [eax + 0x3c], ecx
mov dword [eax + 0x40], ecx
push ecx
mov ecx, dword [esp + 0x20]
call fcn.0042f4ec
pop ecx
mov ecx, eax
mov eax, dword [esp + 0x20]
mov dword [eax + 0x40], esi
mov esi, eax
mov eax, dword [esp + 0x14]
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x30]
mov dword [esi + 0x3c], edi
mov dword [esi + 0x30], ebx
mov byte [esi + 4], 0x74
test ecx, ecx
je 0x446c7f
mov dword [ecx + 0x34], eax
test eax, eax
je 0x446c7a
mov dword [eax + 0x38], ecx
mov dword [ecx + 0x38], esi
mov eax, ecx
mov edi, dword [esp + 0x1c]
mov dword [esi + 0x34], eax
cmp byte [edi + 0x41], 0
jne 0x446ca1
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x34]
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x446c1a
jmp 0x446cad
xor eax, eax
inc eax
jmp 0x446fff
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + eax + 0x1c]
mov ebx, edx
mov dword [esp + 0x3c], edx
mov edx, dword [ecx + eax + 0xc]
mov ecx, edi
mov dword [esp + 0x30], ebx
call fcn.0040b6e5
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + eax + 0x10]
mov ecx, edi
call fcn.0040b6e5
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + eax + 0x14]
mov ecx, edi
call fcn.0040b6e5
mov eax, dword [esp + 0x14]
xor edx, edx
mov ecx, dword [esp + 0x18]
mov dword [ecx + eax + 0xc], edx
mov dword [ecx + eax + 0x10], edx
mov dword [ecx + eax + 0x14], edx
mov dword [ecx + eax + 0x1c], edx
mov ecx, dword [ecx + eax + 0x18]
test ecx, ecx
je 0x446d54
movzx eax, word [ecx + 0x24]
cmp ax, word [esp + 0x34]
jne 0x446d43
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 0x198]
test eax, eax
cmovne edx, eax
mov eax, dword [edx + 0x20c]
mov dword [ecx + 0x44], eax
mov dword [edx + 0x20c], ecx
xor edx, edx
jmp 0x446d48
dec eax
mov word [ecx + 0x24], ax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [ecx + eax + 0x18], edx
mov eax, dword [ebx + 0x20]
mov ecx, dword [esi + 0x20]
mov byte [esp + 0x13], dl
mov dword [esp + 0x38], eax
mov edx, dword [eax]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ecx
test ecx, ecx
je 0x446d86
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov al, byte [edi + eax + 0x2c]
mov edi, dword [esp + 0x1c]
mov byte [esp + 0x13], al
jmp 0x446daa
xor eax, eax
xor edx, edx
push eax
push eax
mov ecx, edi
call fcn.004381e6
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x2c], ecx
mov dword [esi + 0x20], ecx
test ecx, ecx
je 0x446fe9
mov edx, dword [esp + 0x28]
xor eax, eax
inc eax
cmp edx, eax
jle 0x446ddc
mov eax, dword [ebp + 8]
inc eax
push eax
lea eax, [edx - 1]
mov edx, ecx
push eax
mov ecx, edi
call fcn.004380fd
pop ecx
pop ecx
mov ecx, eax
mov dword [esi + 0x20], ecx
cmp byte [edi + 0x41], 0
mov dword [esp + 0x2c], ecx
jne 0x446fe9
mov edx, dword [esp + 0x28]
test edx, edx
jle 0x446e42
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x18]
add esi, 8
mov ebx, dword [esp + 0x1c]
add edi, 8
add edi, ecx
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], edi
mov edx, dword [edi + 0x38]
mov ecx, ebx
call fcn.00438081
push 0x14
pop ecx
push 0x50
xor eax, eax
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x38]
push eax
push esi
call fcn.00479330
mov edi, dword [esp + 0x44]
add esi, 0x50
add edi, 0x50
mov dword [esp + 0x40], esi
add esp, 0xc
mov dword [esp + 0x38], edi
sub dword [esp + 0x28], 1
jne 0x446dfc
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x18]
mov al, byte [esp + 0x13]
mov byte [edx + ecx + 0x2c], al
xor ecx, ecx
mov edi, dword [esi]
mov eax, ecx
mov dword [esp + 0x38], eax
cmp dword [edi], ecx
jle 0x446ea0
mov ebx, ecx
mov edx, dword [edi + 4]
cmp dword [ebx + edx + 4], ecx
jne 0x446e8a
mov edx, dword [ebx + edx + 8]
mov ecx, dword [esp + 0x1c]
call fcn.0040ba43
mov esi, eax
mov ecx, esi
call fcn.0040d794
mov ecx, dword [edi + 4]
mov eax, dword [esp + 0x38]
mov dword [ebx + ecx + 4], esi
xor ecx, ecx
inc eax
add ebx, 0x18
mov dword [esp + 0x38], eax
cmp eax, dword [edi]
jl 0x446e5e
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x30]
mov edi, dword [esi]
push dword [ebx]
mov edx, edi
mov edi, dword [esp + 0x20]
push dword [esp + 0x28]
mov ecx, edi
call fcn.004468dd
cmp dword [ebp + 0xc], 0
pop ecx
pop ecx
je 0x446ee1
push dword [ebx]
mov edx, dword [esi + 0x28]
mov ecx, edi
push dword [esp + 0x28]
call fcn.004468dd
push dword [ebx]
mov edx, dword [esi + 0x2c]
mov ecx, edi
push dword [esp + 0x30]
call fcn.00446834
add esp, 0x10
mov dword [esi + 0x2c], eax
mov ecx, dword [ebx + 0x30]
test ecx, ecx
je 0x446f16
xor eax, eax
cmp dword [ecx], eax
jle 0x446f0e
mov edx, eax
mov edi, eax
mov eax, dword [ecx + 4]
lea edx, [edx + 0x18]
xor esi, esi
inc edi
mov word [edx + eax - 4], si
cmp edi, dword [ecx]
jl 0x446ef2
mov esi, dword [esp + 0x20]
xor eax, eax
mov edi, dword [esp + 0x1c]
mov dword [esi + 0x30], ecx
mov dword [ebx + 0x30], eax
jmp 0x446f2e
mov edx, dword [esi + 0x30]
test edx, edx
je 0x446f2c
push dword [ebx]
mov ecx, edi
push dword [esp + 0x28]
call fcn.004468dd
pop ecx
pop ecx
xor eax, eax
mov edx, dword [ebx + 0x24]
test edx, edx
je 0x446f40
push eax
push eax
mov ecx, edi
call fcn.0042ef72
pop ecx
pop ecx
cmp dword [ebp + 0x10], 0
mov ecx, edi
mov edx, dword [esi + 0x24]
mov dword [esp + 0x38], eax
je 0x446f95
mov dword [esi + 0x2c], edx
mov dword [esi + 0x24], eax
push dword [ebx]
push dword [esp + 0x28]
call fcn.00446834
mov dword [esi + 0x2c], eax
mov ecx, edi
mov edx, dword [ebx + 0x2c]
xor eax, eax
push eax
push eax
call fcn.0042ef72
mov edx, dword [esi + 0x2c]
mov ecx, edi
push eax
call fcn.0042eb8e
add esp, 0x14
mov dword [esi + 0x2c], eax
mov edx, dword [ebx + 0x28]
xor eax, eax
mov ecx, edi
push eax
call fcn.0042f20a
pop ecx
mov dword [esi + 0x28], eax
jmp 0x446fb6
push dword [ebx]
push dword [esp + 0x28]
call fcn.00446834
push dword [esp + 0x40]
mov edx, eax
mov dword [esi + 0x24], eax
mov ecx, edi
call fcn.0042eb8e
add esp, 0xc
mov dword [esi + 0x24], eax
mov ax, word [ebx + 6]
xor ecx, ecx
inc ecx
xor edx, edx
and ax, cx
or word [esi + 6], ax
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x446fd3
mov dword [esi + 0x3c], eax
mov dword [ebx + 0x3c], edx
mov esi, dword [esi + 0x34]
mov ebx, dword [ebx + 0x34]
mov dword [esp + 0x20], esi
mov dword [esp + 0x30], ebx
test esi, esi
jne 0x446d54
mov edx, dword [esp + 0x3c]
xor ebx, ebx
inc ebx
mov ecx, edi
push ebx
call fcn.00443668
pop ecx
mov eax, ebx
jmp 0x446fff
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret