Function at 0x446dc0
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x447331
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 0x44725d
movzx ebp, byte [ebx + 4]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x44725d
movzx ebp, byte [ebx + 5]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x44725d
cmp byte [ebx + 6], 1
jne 0x44725d
cmp byte [ebx + 7], 4
jne 0x44725d
mov ecx, dword [edx + 0x44]
mov ebx, dword [edx + 0x40]
mov dword [esp + 0x54], ebx
lea ebp, [ecx - 1]
xor eax, eax
jmp 0x446e39
mov ebx, dword [esp + 0x54]
mov edx, esi
mov eax, ebp
mov ebp, edi
cmp ebp, eax
jle 0x4470a3
cmp eax, ecx
jae 0x447258
mov esi, edx
lea edx, [ebx + eax*8]
mov edx, dword [edx]
mov edi, ebp
lea ebp, [eax + 1]
cmp ebp, ecx
jae 0x447251
lea ebx, [ebx + eax*8 + 8]
cmp dword [ebx], edx
jae 0x446e2f
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 0x44724a
add esi, edx
lea ebx, [ebx + eax*8 + 0xc]
mov ebx, dword [ebx]
cmp ecx, ebx
jbe 0x447243
mov dword [esp + 0x14], eax
mov dword [esp + 0x38], ebp
lea ecx, [ebx + edx]
cmp edi, ebp
jg 0x44707e
mov ecx, 3
lea edx, [0x4efdbb]
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.00447c00
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 0x44723a
lea edi, [ebp + esi*8]
mov edi, dword [edi]
mov edx, dword [esp + 0x38]
cmp ebx, edx
jbe 0x447231
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.004322f0
lea eax, [0x4fa9b8]
mov dword [esp], eax
mov dword [esp + 4], 0x35
call fcn.00432c00
mov dword [esp + 4], 0
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.00432a80
call fcn.004324d0
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
call fcn.00432c00
lea eax, [0x4efcd4]
mov dword [esp], eax
mov dword [esp + 4], 3
call fcn.00432c00
mov dword [esp + 4], 0
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.00432a80
call fcn.004324d0
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 4], eax
call fcn.00432c00
call fcn.00432510
call fcn.00432360
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x70]
xor edx, edx
jmp 0x44701d
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.004322f0
lea eax, str._t_n_f_r
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00432c00
mov dword [esp + 4], 0
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.00432a80
call fcn.004324d0
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
call fcn.00432c00
call fcn.00432510
call fcn.00432360
mov eax, dword [esp + 0x10]
lea edx, [eax + 1]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x70]
cmp eax, edx
jl 0x44721b
mov ebx, dword [ecx + 0x38]
mov ebp, dword [ecx + 0x34]
mov esi, dword [ecx + 0x44]
mov edi, dword [ecx + 0x40]
cmp edx, esi
jae 0x447212
lea esi, [edi + edx*8 + 4]
mov esi, dword [esi]
cmp esi, ebx
jae 0x447209
mov dword [esp + 0x10], edx
lea eax, [ebp + esi]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00447c00
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 0x446faa
jmp 0x447200
mov dword [esp + 0x4c], esi
mov dword [esp], ecx
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
call fcn.00447c00
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x4c]
jmp 0x446eab
mov ebp, dword [edx + 0x50]
test ecx, ecx
jbe 0x4471f9
cmp dword [ebx], ebp
jne 0x4471e3
lea eax, [ebx + ecx*8 - 8]
mov eax, dword [eax]
cmp dword [edx + 0x54], eax
jne 0x4471e3
mov eax, dword [edx + 0xe4]
mov ecx, dword [edx + 0xe0]
test eax, eax
jle 0x44713e
mov dword [esp + 0x38], eax
xor ebx, ebx
jmp 0x4470f0
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.00459f3e
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 0x447146
mov dword [esp + 0x2c], ebx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00402660
movzx eax, byte [esp + 0xc]
test al, al
je 0x447142
mov eax, dword [esp + 0x2c]
inc eax
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jg 0x4470dd
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.004322f0
lea eax, [0x4f7003]
mov dword [esp], eax
mov dword [esp + 4], 0x1e
call fcn.00432c00
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
call fcn.00432c00
lea eax, [0x4eff86]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.00432c00
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
call fcn.00432c00
call fcn.00432510
call fcn.00432360
lea eax, [0x4f1565]
mov dword [esp], eax
mov dword [esp + 4], 0xc
call fcn.00430e70
lea eax, [0x4f4645]
mov dword [esp], eax
mov dword [esp + 4], 0x16
call fcn.00430e70
xor eax, eax
call fcn.004598e0
mov eax, esi
mov ecx, ebx
call fcn.004598e0
mov eax, esi
mov ecx, ebx
call fcn.004598f0
mov eax, edx
mov ecx, esi
call fcn.004598e0
lea eax, [0x4f6783]
mov dword [esp], eax
mov dword [esp + 4], 0x1c
call fcn.00430e70
mov eax, edx
mov ecx, ebx
call fcn.004598e0
mov eax, esi
mov ecx, ebx
call fcn.004598e0
mov eax, ebx
call fcn.004598f0
mov eax, esi
call fcn.004598f0
mov eax, ebp
call fcn.004598e0
call fcn.004598e0
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.004322f0
lea eax, [0x4f8ed1]
mov dword [esp], eax
mov dword [esp + 4], 0x27
call fcn.00432c00
mov dword [esp + 4], 0
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.00432a80
call fcn.004324d0
mov dword [esp + 4], 0
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.00432a80
call fcn.004324d0
mov dword [esp + 4], 0
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.00432a80
call fcn.004324d0
mov dword [esp + 4], 0
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call fcn.00432a80
call fcn.004324d0
mov dword [esp + 4], 0
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.00432a80
call fcn.00432510
call fcn.00432360
lea eax, [0x4f70b7]
mov dword [esp], eax
mov dword [esp + 4], 0x1e
call fcn.00430e70
nop
call fcn.00458300
jmp fcn.00446dc0