Function at 0x447f80
Capabilities:
Enumerate pe sections

Disassembly:
push ecx
push ebx
mov ebx, dword [esp + 0xc]
push ebp
mov ebp, dword [esp + 0x14]
push esi
push edi
mov esi, eax
lea eax, [esp + 0x18]
push eax
push 0x22040
push ebx
mov dword [esp + 0x24], 0
call fcn.004418b0
add esp, 0xc
cmp dword [esp + 0x18], 0
mov edi, eax
jne 0x4481c0
mov eax, ebp
test ebp, ebp
jne 0x447fc2
mov eax, 0x4dd128
mov dword [edi + 0x24], eax
mov ecx, 0x7fff
mov word [edi + 0xc], cx
mov edx, dword [esi + 4]
lea eax, [esp + 0x10]
push eax
mov dword [edi + 0x2203c], edx
mov dword [edi + 0x22038], ebx
pxor xmm0, xmm0
movq qword [edi + 0x22028], xmm0
push edi
movq qword [edi + 0x22030], xmm0
push esi
mov eax, 0x4478c0
mov dword [edi + 0x22034], ebx
call fcn.00445540
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
jne 0x44817b
mov eax, dword [edi + 0x20]
test eax, eax
je 0x448125
cmp dword [eax + 0x1c], 8
je 0x448030
mov cx, word [eax + 4]
mov word [eax + 0x20], cx
mov eax, dword [edi + 0x20]
mov edx, dword [eax + 0x40]
add edx, dword [eax + 0x34]
cmp dword [edi + 4], edx
je 0x44804a
mov ecx, 1
mov word [eax + 0x44084], cx
mov edx, dword [edi + 0x24]
cmp dword [edx], 0
je 0x448125
mov ecx, dword [edi + 0x20]
cmp dword [ecx + 0x34], 0
ja 0x448069
cmp dword [ecx + 0x40], 0
jbe 0x448125
movzx eax, word [edi + 0x10]
movzx edx, word [edi + 0xc]
movsx esi, dx
movsx ebp, ax
sub ebp, esi
movzx esi, word [ecx + 4]
cmp ebp, esi
je 0x448096
sub eax, edx
mov word [ecx + 4], ax
mov eax, dword [edi + 0x20]
mov ecx, 1
mov word [eax + 0x44084], cx
movzx ecx, word [edi + 0xc]
mov eax, dword [edi + 0x20]
cmp word [eax + 8], cx
je 0x4480b6
mov word [eax + 8], cx
mov edx, dword [edi + 0x20]
mov eax, 1
mov word [edx + 0x44084], ax
movzx ecx, word [edi + 0x12]
mov eax, dword [edi + 0x20]
cmp word [eax + 0xc], cx
je 0x4480d6
mov word [eax + 0xc], cx
mov ecx, dword [edi + 0x20]
mov edx, 1
mov word [ecx + 0x44084], dx
movzx ecx, word [edi + 0x14]
mov eax, dword [edi + 0x20]
cmp word [eax + 0xe], cx
je 0x448104
mov word [eax + 0xe], cx
mov ax, word [edi + 0x14]
mov ecx, dword [edi + 0x20]
neg ax
mov word [ecx + 0xa], ax
mov edx, dword [edi + 0x20]
mov eax, 1
mov word [edx + 0x44084], ax
movzx eax, word [edi + 0x14]
movzx ecx, word [edi + 0x12]
mov edx, dword [edi + 0x20]
movsx ebp, cx
movsx esi, ax
add esi, ebp
movzx ebp, word [edx + 6]
cmp esi, ebp
je 0x448125
add eax, ecx
mov word [edx + 6], ax
mov eax, dword [edi]
test al, 1
je 0x448141
test al, 0x20
mov ecx, 0
setne cl
add ecx, 0xb9
mov dword [esp + 0x18], ecx
jmp 0x44817b
mov ecx, dword [edi + 0x20]
test ecx, ecx
je 0x4481a8
mov eax, dword [ecx + 0x58]
mov edx, dword [ecx + 0x44088]
test eax, eax
je 0x4481b7
mov ecx, dword [ecx + 0x54]
lea esi, [esp + 0x18]
push esi
push ecx
lea ecx, [eax + 1]
push ecx
push eax
push 1
push edx
call fcn.00443590
mov edx, dword [edi + 0x20]
add esp, 0x18
mov dword [edx + 0x54], eax
cmp dword [esp + 0x18], 0
je 0x448199
mov esi, dword [edi + 0x20]
call fcn.00446c50
mov eax, dword [edi + 0x20]
push eax
push ebx
call fcn.0043fac0
add esp, 8
mov dword [edi + 0x20], 0
jmp 0x4481c0
mov eax, dword [edi + 0x20]
mov ecx, dword [eax + 0x58]
mov edx, dword [eax + 0x54]
mov byte [ecx + edx], 0
jmp 0x4481b7
cmp dword [esp + 0x18], 0
jne 0x4481b7
mov dword [esp + 0x18], 3
mov eax, dword [edi + 0x20]
mov ecx, dword [esp + 0x20]
mov dword [ecx], eax
test edi, edi
je 0x448217
mov eax, dword [edi + 0x22034]
test eax, eax
je 0x4481fc
mov edx, dword [edi + 0x22028]
push edx
push eax
call fcn.0043fac0
mov dword [edi + 0x22028], 0
pxor xmm0, xmm0
movq qword [edi + 0x22028], xmm0
add esp, 8
movq qword [edi + 0x22030], xmm0
mov eax, dword [edi + 0x18]
push eax
push ebx
call fcn.0043fac0
push edi
push ebx
mov dword [edi + 0x18], 0
call fcn.0043fac0
add esp, 0x10
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret