Function at 0x440690
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xf0]
cmp eax, dword [ecx + 8]
jbe 0x440fb0
sub esp, 0x170
mov ecx, dword [esp + 0x174]
cmp ecx, 0
je 0x440fa9
mov edx, dword [ecx]
mov eax, dword [ecx]
mov ebp, dword [eax]
cmp ebp, 0xfffffffb
jne 0x440ea3
movzx ebp, byte [edx + 4]
xchg ebp, eax
cmp al, 0
xchg ebp, eax
jne 0x440ea3
movzx ebp, byte [edx + 5]
xchg ebp, eax
cmp al, 0
xchg ebp, eax
jne 0x440ea3
movzx ebp, byte [edx + 6]
xchg ebp, eax
cmp al, 1
xchg ebp, eax
jne 0x440ea3
movzx ebp, byte [edx + 7]
xchg ebp, eax
cmp al, 4
xchg ebp, eax
jne 0x440ea3
mov ebx, dword [ecx + 0x10]
dec ebx
mov dword [esp + 0x18], ebx
lea edi, [esp + 0x58]
xor eax, eax
call fcn.00451f50
xor eax, eax
mov ebp, dword [esp + 0x18]
cmp eax, ebp
jge 0x440a86
mov ebp, eax
inc ebp
mov esi, dword [ecx + 0x10]
cmp ebp, esi
jae 0x440e9c
mov esi, dword [ecx + 0xc]
shl ebp, 3
add esi, ebp
mov edi, dword [esi]
mov ebp, eax
mov esi, dword [ecx + 0x10]
cmp eax, esi
jae 0x440e95
mov esi, dword [ecx + 0xc]
shl ebp, 3
add esi, ebp
mov ebx, dword [esi]
cmp edi, ebx
jae 0x440a6a
mov ebp, eax
mov esi, dword [ecx + 0x10]
cmp eax, esi
jae 0x440e8e
mov esi, dword [ecx + 0xc]
shl ebp, 3
add esi, ebp
mov edx, dword [esi + 4]
mov esi, dword [ecx + 4]
cmp edx, esi
jae 0x440e87
mov esi, dword [ecx]
add esi, edx
mov dword [esp + 0x118], esi
mov ebp, eax
inc ebp
mov esi, dword [ecx + 0x10]
cmp ebp, esi
jae 0x440e80
mov esi, dword [ecx + 0xc]
shl ebp, 3
add esi, ebp
mov edx, dword [esi + 4]
mov esi, dword [ecx + 4]
cmp edx, esi
jae 0x440e79
mov esi, dword [ecx]
add esi, edx
mov ebx, 0x5ee499
mov dword [esp + 0x124], ebx
mov dword [esp + 0x128], 3
mov ebx, eax
mov dword [esp + 0x20], eax
inc ebx
mov eax, ebx
mov ebx, dword [esp + 0x18]
cmp eax, ebx
jge 0x440802
mov dword [esp], esi
call fcn.00441810
mov ebx, dword [esp + 4]
mov dword [esp + 0x124], ebx
mov ebx, dword [esp + 8]
mov dword [esp + 0x128], ebx
mov ebx, dword [esp + 0x118]
mov dword [esp], ebx
call fcn.00441810
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 4]
mov dword [esp + 0x134], ebx
mov ebx, dword [esp + 8]
mov dword [esp + 0x138], ebx
mov ebx, dword [esp + 0x174]
mov edi, ebp
mov esi, dword [ebx + 0x10]
cmp ebp, esi
jae 0x440e72
mov esi, dword [ebx + 0xc]
shl ebp, 3
add esi, ebp
mov ebx, dword [esi]
xor ecx, ecx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ecx
mov ebp, edi
inc ebp
mov ebx, dword [esp + 0x174]
mov esi, dword [ebx + 0x10]
cmp ebp, esi
jae 0x440e6b
mov esi, dword [ebx + 0xc]
shl ebp, 3
add esi, ebp
mov ebx, dword [esi]
xor ecx, ecx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ecx
call fcn.00429d60
mov ebx, 0x5fa875
mov dword [esp], ebx
mov dword [esp + 4], 0x34
call fcn.0042a770
call fcn.00429f70
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
call fcn.0042a600
call fcn.00429f70
mov ebx, dword [esp + 0x134]
mov dword [esp], ebx
mov ebx, dword [esp + 0x138]
mov dword [esp + 4], ebx
call fcn.0042a770
call fcn.00429f70
mov ebx, 0x5ee218
mov dword [esp], ebx
mov dword [esp + 4], 1
call fcn.0042a770
call fcn.00429f70
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
call fcn.0042a600
call fcn.00429f70
mov ebx, dword [esp + 0x124]
mov dword [esp], ebx
mov ebx, dword [esp + 0x128]
mov dword [esp + 4], ebx
call fcn.0042a770
call fcn.00429fb0
call fcn.00429de0
mov ecx, dword [esp + 0x174]
xor eax, eax
mov ebp, dword [esp + 0x20]
cmp eax, ebp
jg 0x440a4a
cmp ecx, 0
je 0x440e64
mov dword [esp + 0x1c], eax
mov ebp, eax
mov esi, dword [ecx + 0x10]
cmp eax, esi
jae 0x440e5d
mov esi, dword [ecx + 0xc]
shl ebp, 3
add esi, ebp
mov eax, dword [esi + 4]
mov esi, dword [ecx + 4]
cmp eax, esi
jae 0x440e56
mov esi, dword [ecx]
add esi, eax
mov dword [esp], esi
call fcn.00441810
mov ebx, dword [esp + 4]
mov dword [esp + 0x134], ebx
mov ebx, dword [esp + 8]
mov dword [esp + 0x138], ebx
mov ebx, dword [esp + 0x174]
mov ebp, dword [esp + 0x1c]
mov esi, dword [ebx + 0x10]
cmp ebp, esi
jae 0x440e4f
mov esi, dword [ebx + 0xc]
shl ebp, 3
add esi, ebp
mov ebx, dword [esi]
xor ecx, ecx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ecx
call fcn.00429d60
mov ebx, 0x5ee228
mov dword [esp], ebx
mov dword [esp + 4], 1
call fcn.0042a770
mov eax, dword [esp + 0x30]
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call fcn.0042a600
mov ebx, 0x5ee204
mov dword [esp], ebx
mov dword [esp + 4], 1
call fcn.0042a770
mov ebx, dword [esp + 0x134]
mov dword [esp], ebx
mov ebx, dword [esp + 0x138]
mov dword [esp + 4], ebx
call fcn.0042a770
mov ebx, 0x5ee226
mov dword [esp], ebx
mov dword [esp + 4], 1
call fcn.0042a770
call fcn.00429de0
mov ecx, dword [esp + 0x174]
mov eax, dword [esp + 0x1c]
inc eax
mov ebp, dword [esp + 0x20]
cmp eax, ebp
jle 0x44093f
mov ebx, 0x5f5688
mov dword [esp], ebx
mov dword [esp + 4], 0x1c
call fcn.00429580
mov ecx, dword [esp + 0x174]
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
sub ebx, eax
cmp ebx, 5
jl 0x440d2b
inc eax
mov ebp, dword [esp + 0x18]
cmp eax, ebp
jl 0x44072f
mov eax, dword [ecx + 0x28]
cmp dword [ecx + 0x10], 0
jbe 0x440d24
mov ebp, dword [ecx + 0xc]
mov ebx, dword [ebp]
cmp eax, ebx
jne 0x440cfc
mov eax, dword [ecx + 0x2c]
mov ebp, dword [esp + 0x18]
mov esi, dword [ecx + 0x10]
cmp ebp, esi
jae 0x440d1d
mov esi, dword [ecx + 0xc]
shl ebp, 3
add esi, ebp
mov ebx, dword [esi]
cmp eax, ebx
jne 0x440cfc
cmp ecx, 0
je 0x440cf5
mov esi, dword [ecx + 0x8c]
mov eax, dword [ecx + 0x90]
mov ebp, dword [ecx + 0x94]
mov dword [esp + 0x144], ebp
xor edx, edx
mov dword [esp + 0x140], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x13c], esi
mov eax, esi
mov ebp, dword [esp + 0x28]
cmp edx, ebp
jge 0x440bfd
mov dword [esp + 0x120], eax
cmp eax, 0
je 0x440cee
mov ebp, dword [eax]
mov dword [esp + 0x15c], ebp
mov ebp, dword [eax + 4]
mov dword [esp + 0x160], ebp
mov edi, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x2c], edx
mov ebx, dword [esp + 0x15c]
mov dword [esp + 0x148], ebx
mov ebx, dword [esp + 0x160]
mov dword [esp + 0x14c], ebx
mov dword [esp + 0x164], edi
mov dword [esp + 0x168], esi
mov dword [esp + 0x16c], eax
mov dword [esp + 0x150], edi
mov dword [esp + 0x134], edi
mov dword [esp + 0x154], esi
mov edi, esi
mov dword [esp + 0x158], eax
cmp eax, 0
je 0x440ce7
mov ebp, dword [eax]
mov dword [esp + 0x12c], ebp
mov esi, dword [eax + 4]
cmp edi, esi
jne 0x440c04
mov ebp, dword [esp + 0x134]
mov dword [esp], ebp
mov dword [esp + 0x138], edi
mov dword [esp + 4], edi
mov ebp, dword [esp + 0x12c]
mov dword [esp + 8], ebp
mov dword [esp + 0x130], esi
mov dword [esp + 0xc], esi
call fcn.00451bb0
mov ecx, dword [esp + 0x174]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x440c04
mov eax, dword [esp + 0x120]
add eax, 0x14
mov edx, dword [esp + 0x2c]
inc edx
mov ebp, dword [esp + 0x28]
cmp edx, ebp
jl 0x440b09
add esp, 0x170
ret
cmp ecx, 0
je 0x440ce0
mov ebp, dword [ecx + 0x84]
mov dword [esp + 0x12c], ebp
mov ebp, dword [ecx + 0x88]
mov dword [esp + 0x130], ebp
mov ebx, dword [esp + 0x148]
mov dword [esp + 0x134], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0x138], ebx
call fcn.00429d60
mov ebx, 0x5f5a13
mov dword [esp], ebx
mov dword [esp + 4], 0x1d
call fcn.0042a770
call fcn.00429f70
mov ebx, dword [esp + 0x12c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x130]
mov dword [esp + 4], ebx
call fcn.0042a770
call fcn.00429f70
mov ebx, 0x5ee490
mov dword [esp], ebx
mov dword [esp + 4], 3
call fcn.0042a770
call fcn.00429f70
mov ebx, dword [esp + 0x134]
mov dword [esp], ebx
mov ebx, dword [esp + 0x138]
mov dword [esp + 4], ebx
call fcn.0042a770
call fcn.00429fb0
call fcn.00429de0
mov ebx, 0x5f021b
mov dword [esp], ebx
mov dword [esp + 4], 0xc
call fcn.00429580
mov ecx, dword [esp + 0x174]
jmp 0x440be2
mov dword [ecx], eax
jmp 0x440c0d
mov dword [eax], eax
jmp 0x440b91
mov dword [eax], eax
jmp 0x440b19
mov dword [ecx], eax
jmp 0x440ace
mov ebx, 0x5f34ec
mov dword [esp], ebx
mov dword [esp + 4], 0x16
call fcn.00429580
mov ecx, dword [esp + 0x174]
jmp 0x440ac5
call fcn.004278c0
ud2
call fcn.004278c0
ud2
mov ebp, eax
mov esi, dword [ecx + 0x10]
cmp eax, esi
jae 0x440e48
mov esi, dword [ecx + 0xc]
shl ebp, 3
add esi, ebp
mov edx, dword [esi + 4]
mov esi, dword [ecx + 4]
cmp edx, esi
jae 0x440e41
mov esi, dword [ecx]
add esi, edx
mov edx, esi
mov edi, dword [esi]
mov ebp, eax
mov dword [esp + 0x20], eax
inc ebp
mov ebx, dword [esp + 0x18]
cmp ebp, ebx
jge 0x440da2
mov ebp, eax
inc ebp
mov esi, dword [ecx + 0x10]
cmp ebp, esi
jae 0x440e3a
mov esi, dword [ecx + 0xc]
shl ebp, 3
add esi, ebp
mov eax, dword [esi + 4]
mov esi, dword [ecx + 4]
cmp eax, esi
jae 0x440e33
mov esi, dword [ecx]
add esi, eax
mov ebp, dword [esi + 0x18]
cmp ebp, 0
je 0x440da2
mov edi, dword [esi]
sub edi, 0x10
mov ebp, dword [edx]
cmp ebp, edi
jbe 0x440da2
mov edi, dword [edx]
mov dword [esp], edx
mov dword [esp + 0x11c], edx
mov ebp, dword [edx + 0x14]
mov dword [esp + 4], ebp
mov dword [esp + 0x24], edi
mov dword [esp + 8], edi
lea ebx, [esp + 0x58]
mov dword [esp + 0xc], ebx
mov byte [esp + 0x10], 1
call fcn.004411d0
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov ebp, dword [eax + 0x18]
mov dword [esp + 4], ebp
mov ebx, dword [esp + 0x24]
mov dword [esp + 8], ebx
lea ebx, [esp + 0x58]
mov dword [esp + 0xc], ebx
mov byte [esp + 0x10], 1
call fcn.004411d0
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov ebp, dword [eax + 0x10]
mov dword [esp + 4], ebp
mov ebx, dword [esp + 0x24]
mov dword [esp + 8], ebx
lea ebx, [esp + 0x58]
mov dword [esp + 0xc], ebx
mov byte [esp + 0x10], 1
call fcn.004411d0
mov ecx, dword [esp + 0x174]
mov eax, dword [esp + 0x20]
jmp 0x440a79
call fcn.004278c0
ud2
call fcn.004278c0
ud2
call fcn.004278c0
ud2
call fcn.004278c0
ud2
call fcn.004278c0
ud2
call fcn.004278c0
ud2
call fcn.004278c0
ud2
mov dword [ecx], eax
jmp 0x440948
call fcn.004278c0
ud2
call fcn.004278c0
ud2
call fcn.004278c0
ud2
call fcn.004278c0
ud2
call fcn.004278c0
ud2
call fcn.004278c0
ud2
call fcn.004278c0
ud2
call fcn.004278c0
ud2
mov ebp, dword [eax]
xor ecx, ecx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], ecx
movzx ebp, byte [edx + 4]
xor ecx, ecx
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ecx
movzx ebp, byte [edx + 5]
xor ecx, ecx
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ecx
movzx ebp, byte [edx + 6]
xor ecx, ecx
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ecx
movzx ebp, byte [edx + 7]
xor ecx, ecx
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], ecx
call fcn.00429d60
mov ebx, 0x5f8125
mov dword [esp], ebx
mov dword [esp + 4], 0x26
call fcn.0042a770
call fcn.00429f70
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
call fcn.0042a600
call fcn.00429f70
mov eax, dword [esp + 0x48]
mov dword [esp], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
call fcn.0042a600
call fcn.00429f70
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
call fcn.0042a600
call fcn.00429f70
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
call fcn.0042a600
call fcn.00429f70
mov eax, dword [esp + 0x30]
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call fcn.0042a600
call fcn.00429fb0
call fcn.00429de0
mov ebx, 0x5f612a
mov dword [esp], ebx
mov dword [esp + 4], 0x1e
call fcn.00429580
mov ecx, dword [esp + 0x174]
jmp 0x44070e
mov dword [ecx], eax
jmp 0x4406c3
call fcn.0044fe90
jmp fcn.00440690