Function at 0x446810
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x446d81
sub esp, 0x6c
mov edx, dword [esp + 0x70]
mov ebx, dword [edx]
mov ebp, dword [ebx]
mov dword [esp + 0x3c], ebp
cmp ebp, 0xfffffffa
jne 0x446cad
movzx ebp, byte [ebx + 4]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x446cad
movzx ebp, byte [ebx + 5]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x446cad
cmp byte [ebx + 6], 1
jne 0x446cad
cmp byte [ebx + 7], 4
jne 0x446cad
mov ecx, dword [edx + 0x44]
mov ebx, dword [edx + 0x40]
mov dword [esp + 0x54], ebx
lea ebp, [ecx - 1]
xor eax, eax
jmp 0x446889
mov ebx, dword [esp + 0x54]
mov edx, esi
mov eax, ebp
mov ebp, edi
cmp ebp, eax
jle 0x446af3
cmp eax, ecx
jae 0x446ca8
mov esi, edx
lea edx, [ebx + eax*8]
mov edx, dword [edx]
mov edi, ebp
lea ebp, [eax + 1]
cmp ebp, ecx
jae 0x446ca1
lea ebx, [ebx + eax*8 + 8]
cmp dword [ebx], edx
jae 0x44687f
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x34]
mov ebx, dword [esp + 0x54]
lea esi, [ebx + eax*8 + 4]
mov esi, dword [esi]
cmp ecx, esi
jbe 0x446c9a
add esi, edx
lea ebx, [ebx + eax*8 + 0xc]
mov ebx, dword [ebx]
cmp ecx, ebx
jbe 0x446c93
mov dword [esp + 0x14], eax
mov dword [esp + 0x38], ebp
lea ecx, [ebx + edx]
cmp edi, ebp
jg 0x446ace
mov ecx, 3
lea edx, [0x4c551c]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x40], edx
mov dword [esp], esi
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
call fcn.00447650
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x70]
mov ebx, dword [edx + 0x44]
mov ebp, dword [edx + 0x40]
mov esi, dword [esp + 0x14]
cmp ebx, esi
jbe 0x446c8a
lea edi, [ebp + esi*8]
mov edi, dword [edi]
mov edx, dword [esp + 0x38]
cmp ebx, edx
jbe 0x446c81
mov dword [esp + 0x38], ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x34], edi
lea eax, [ebp + esi*8 + 8]
mov eax, dword [eax]
mov dword [esp + 0x30], eax
call fcn.00431d30
lea eax, [0x4ce582]
mov dword [esp], eax
mov dword [esp + 4], 0x35
call fcn.00432630
mov dword [esp + 4], 0
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.004324c0
call fcn.00431f10
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
call fcn.00432630
lea eax, [0x4c5435]
mov dword [esp], eax
mov dword [esp + 4], 3
call fcn.00432630
mov dword [esp + 4], 0
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.004324c0
call fcn.00431f10
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 4], eax
call fcn.00432630
call fcn.00431f50
call fcn.00431da0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x70]
xor edx, edx
jmp 0x446a6d
mov dword [esp + 0x50], eax
mov dword [esp + 0x38], ecx
lea eax, [ebp + esi*8]
mov eax, dword [eax]
mov dword [esp + 0x34], eax
call fcn.00431d30
lea eax, str._t_n_f_r
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00432630
mov dword [esp + 4], 0
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.004324c0
call fcn.00431f10
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
call fcn.00432630
call fcn.00431f50
call fcn.00431da0
mov eax, dword [esp + 0x10]
lea edx, [eax + 1]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x70]
cmp eax, edx
jl 0x446c6b
mov ebx, dword [ecx + 0x38]
mov ebp, dword [ecx + 0x34]
mov esi, dword [ecx + 0x44]
mov edi, dword [ecx + 0x40]
cmp edx, esi
jae 0x446c62
lea esi, [edi + edx*8 + 4]
mov esi, dword [esi]
cmp esi, ebx
jae 0x446c59
mov dword [esp + 0x10], edx
lea eax, [ebp + esi]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00447650
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x70]
mov ebx, dword [edx + 0x44]
mov ebp, dword [edx + 0x40]
mov esi, dword [esp + 0x10]
cmp ebx, esi
ja 0x4469fa
jmp 0x446c50
mov dword [esp + 0x4c], esi
mov dword [esp], ecx
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
call fcn.00447650
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x4c]
jmp 0x4468fb
mov ebp, dword [edx + 0x50]
test ecx, ecx
jbe 0x446c49
cmp dword [ebx], ebp
jne 0x446c33
lea eax, [ebx + ecx*8 - 8]
mov eax, dword [eax]
cmp dword [edx + 0x54], eax
jne 0x446c33
mov eax, dword [edx + 0xe4]
mov ecx, dword [edx + 0xe0]
test eax, eax
jle 0x446b8e
mov dword [esp + 0x38], eax
xor ebx, ebx
jmp 0x446b40
mov ebp, dword [esp + 0x48]
add ebp, 0x14
mov edx, dword [esp + 0x70]
mov ecx, ebp
mov ebx, eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x48], ecx
lea edi, [esp + 0x58]
mov esi, ecx
call fcn.00459ace
mov ecx, dword [esp + 0x68]
mov ebp, dword [esp + 0x64]
mov esi, edx
mov edx, dword [esp + 0x60]
mov eax, dword [ecx]
cmp dword [ecx + 4], ebp
jne 0x446b96
mov dword [esp + 0x2c], ebx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00402440
movzx eax, byte [esp + 0xc]
test al, al
je 0x446b92
mov eax, dword [esp + 0x2c]
inc eax
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jg 0x446b2d
add esp, 0x6c
ret
mov esi, dword [esp + 0x70]
mov eax, dword [esi + 0xd8]
mov dword [esp + 0x50], eax
mov ecx, dword [esi + 0xdc]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x44], edx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x2c], ebx
call fcn.00431d30
lea eax, [0x4cb3aa]
mov dword [esp], eax
mov dword [esp + 4], 0x1e
call fcn.00432630
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
call fcn.00432630
lea eax, [0x4c56a7]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.00432630
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
call fcn.00432630
call fcn.00431f50
call fcn.00431da0
lea eax, [0x4c69cc]
mov dword [esp], eax
mov dword [esp + 4], 0xc
call fcn.004307d0
lea eax, [0x4c9280]
mov dword [esp], eax
mov dword [esp + 4], 0x16
call fcn.004307d0
xor eax, eax
call fcn.00459460
mov eax, esi
mov ecx, ebx
call fcn.00459460
mov eax, esi
mov ecx, ebx
call fcn.00459470
mov eax, edx
mov ecx, esi
call fcn.00459460
lea eax, [0x4cac6d]
mov dword [esp], eax
mov dword [esp + 4], 0x1c
call fcn.004307d0
mov eax, edx
mov ecx, ebx
call fcn.00459460
mov eax, esi
mov ecx, ebx
call fcn.00459460
mov eax, ebx
call fcn.00459470
mov eax, esi
call fcn.00459470
mov eax, ebp
call fcn.00459460
call fcn.00459460
movzx eax, byte [ebx + 4]
mov dword [esp + 0x28], eax
movzx ecx, byte [ebx + 5]
mov dword [esp + 0x24], ecx
movzx edx, byte [ebx + 6]
mov dword [esp + 0x20], edx
movzx ebx, byte [ebx + 7]
mov dword [esp + 0x1c], ebx
call fcn.00431d30
lea eax, [0x4ccea2]
mov dword [esp], eax
mov dword [esp + 4], 0x27
call fcn.00432630
mov dword [esp + 4], 0
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.004324c0
call fcn.00431f10
mov dword [esp + 4], 0
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.004324c0
call fcn.00431f10
mov dword [esp + 4], 0
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.004324c0
call fcn.00431f10
mov dword [esp + 4], 0
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call fcn.004324c0
call fcn.00431f10
mov dword [esp + 4], 0
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.004324c0
call fcn.00431f50
call fcn.00431da0
lea eax, [0x4cb45e]
mov dword [esp], eax
mov dword [esp + 4], 0x1e
call fcn.004307d0
nop
call fcn.00457e80
jmp fcn.00446810