Function at 0x44cd90
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x40
mov edx, dword [esp + 0x44]
mov eax, dword [edx]
mov ecx, dword [eax + 0x200]
add ecx, dword [eax + 0x1fc]
mov eax, dword [esp + 0x48]
push ebx
push esi
mov esi, dword [edx + 0x10]
movzx edx, byte [esi + 6]
mov dword [esp + 0x3c], ecx
mov ecx, dword [eax]
movzx eax, byte [esi + 7]
shl dx, 8
movzx ebx, dx
mov dword [esp + 0xc], ecx
xor ecx, ecx
or ebx, eax
and ebx, 0xfffffffe
mov dword [esp + 0x10], ecx
jne 0x44cddc
pop esi
xor eax, eax
pop ebx
add esp, 0x40
ret
mov eax, ebx
shr eax, 1
push ebp
mov dword [esp + 0x30], eax
mov ebp, 0xffff
cmp byte [esp + 0x58], cl
je 0x44cdf4
inc dword [esp + 0x10]
mov edx, eax
push edi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x20], edx
test eax, eax
je 0x44d1ae
jmp 0x44ce10
lea eax, [edx + ecx]
shr eax, 1
movzx edx, byte [esi + eax*2 + 0xe]
lea ecx, [esi + eax*2 + 0xe]
shl dx, 8
movzx ebp, dx
movzx edx, byte [ecx + 1]
or ebp, edx
lea edx, [ebx + 2]
add ecx, edx
movzx edx, byte [ecx]
shl dx, 8
movzx edi, dx
movzx edx, byte [ecx + 1]
or edi, edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], ebp
cmp dword [esp + 0x14], edi
jae 0x44ce5a
mov ecx, dword [esp + 0x40]
mov edx, eax
mov dword [esp + 0x20], edx
jmp 0x44ce6b
cmp dword [esp + 0x14], ebp
jbe 0x44ce74
mov edx, dword [esp + 0x20]
lea ecx, [eax + 1]
mov dword [esp + 0x40], ecx
cmp ecx, edx
jb 0x44ce10
jmp 0x44d1ae
movzx edx, byte [ecx + ebx]
add ecx, ebx
movzx ebp, byte [ecx + ebx + 1]
shl dx, 8
movsx esi, dx
movzx edx, byte [ecx + 1]
or esi, edx
movzx edx, byte [ecx + ebx]
add ecx, ebx
shl dx, 8
movzx edx, dx
or edx, ebp
mov ebp, dword [esp + 0x34]
dec ebp
cmp eax, ebp
jb 0x44cecb
cmp edi, 0xffff
jne 0x44cecb
cmp dword [esp + 0x24], edi
jne 0x44cecb
test edx, edx
je 0x44cecb
lea eax, [edx + ecx + 2]
cmp eax, dword [esp + 0x44]
mov eax, dword [esp + 0x1c]
jbe 0x44cecb
mov esi, 1
xor edx, edx
mov ebp, dword [esp + 0x54]
test byte [ebp + 0x14], 2
je 0x44d239
mov ebp, eax
mov dword [esp + 0x20], ebp
cmp edx, 0xffff
jne 0x44ceec
inc eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], ebp
test ebp, ebp
je 0x44d001
mov eax, dword [esp + 0x54]
mov eax, dword [eax + 0x10]
lea eax, [eax + ebp*2 + 0xc]
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x30], eax
lea eax, [ebx + eax + 2]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x54]
mov eax, dword [eax + 0x10]
add ebp, ebx
lea ebp, [eax + ebp*2 + 0xe]
add eax, ebx
lea eax, [eax + ebx*2]
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0x20]
lea eax, [eax + ebp*2 + 0xe]
mov dword [esp + 0x3c], eax
mov eax, 1
sub eax, ebx
mov dword [esp + 0x2c], eax
mov eax, 1
lea ebp, [ebx + 2]
sub eax, ebp
mov dword [esp + 0x40], eax
jmp 0x44cf54
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x28]
movzx eax, byte [eax + ebp]
mov ebp, dword [esp + 0x30]
movzx ebp, byte [ebp]
shl bp, 8
movzx ebp, bp
or eax, ebp
cmp dword [esp + 0x14], eax
ja 0x44cff9
mov ecx, dword [esp + 0x28]
movzx edx, byte [ecx]
shl dx, 8
movzx edi, dx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2c]
movzx ecx, byte [edx + eax]
movzx edx, byte [edx]
shl dx, 8
or edi, ecx
mov ecx, dword [esp + 0x3c]
movsx esi, dx
movzx edx, byte [eax + ecx]
add eax, ecx
movzx eax, byte [eax + ebx]
or esi, edx
movzx edx, byte [ecx]
shl dx, 8
movzx edx, dx
or edx, eax
cmp edx, 0xffff
je 0x44cfd0
mov eax, dword [esp + 0x10]
dec eax
mov dword [esp + 0x1c], eax
jmp 0x44cfd4
mov eax, dword [esp + 0x1c]
dec dword [esp + 0x10]
sub dword [esp + 0x30], 2
sub dword [esp + 0x28], 2
sub dword [esp + 0x38], 2
sub dword [esp + 0x3c], 2
cmp dword [esp + 0x10], 0
ja 0x44cf50
jmp 0x44cffd
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
inc ebp
cmp eax, ebp
jne 0x44d1d8
mov ebp, dword [esp + 0x20]
cmp dword [esp + 0x10], ebp
je 0x44d072
mov ecx, dword [esp + 0x54]
mov eax, dword [ecx + 0x10]
movzx edx, byte [eax + ebp*2 + 0xe]
lea ecx, [eax + ebp*2 + 0xe]
shl dx, 8
movzx eax, dx
movzx edx, byte [ecx + 1]
or eax, edx
movzx edx, byte [ecx + ebx + 3]
mov dword [esp + 0x24], eax
movzx eax, byte [ecx + ebx + 2]
lea ecx, [ecx + ebx + 2]
shl ax, 8
movzx edi, ax
movzx eax, byte [ecx + ebx]
add ecx, ebx
shl ax, 8
or edi, edx
movzx edx, byte [ecx + 1]
movsx esi, ax
movzx eax, byte [ecx + ebx]
add ecx, ebx
shl ax, 8
or esi, edx
movzx edx, ax
movzx eax, byte [ecx + 1]
or edx, eax
lea eax, [ebp + 1]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x34]
jae 0x44d197
mov ecx, dword [esp + 0x54]
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0x40], ecx
lea ecx, [ecx + eax*2 + 0xe]
mov dword [esp + 0x3c], ecx
lea ecx, [ecx + ebx + 2]
lea ebp, [eax + ebx]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x40]
lea ebp, [ecx + ebp*2 + 0x10]
add ecx, ebx
lea ecx, [ecx + ebx*2]
lea eax, [ecx + eax*2 + 0x10]
mov dword [esp + 0x38], eax
mov eax, 1
sub eax, ebx
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], eax
mov ebp, 1
lea eax, [ebx + 2]
sub ebp, eax
mov dword [esp + 0x40], ebp
jmp 0x44d0e4
mov ebp, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
movzx eax, byte [eax]
mov ecx, dword [esp + 0x28]
movzx ebp, byte [ecx + ebp]
shl ax, 8
movzx eax, ax
or eax, ebp
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x4c], eax
movzx eax, byte [ecx]
shl ax, 8
movzx eax, ax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x30]
movzx ebp, byte [eax + ebp]
mov eax, dword [esp + 0x48]
or eax, ebp
cmp dword [esp + 0x14], eax
jb 0x44d193
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x2c]
mov edi, eax
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x38]
lea eax, [ecx + edx]
mov edx, dword [esp + 0x30]
movzx edx, byte [edx]
shl dx, 8
movsx esi, dx
movzx edx, byte [eax]
or esi, edx
movzx edx, byte [eax + ebx]
movzx eax, byte [ecx]
shl ax, 8
movzx eax, ax
or edx, eax
mov eax, dword [esp + 0x10]
cmp edx, 0xffff
je 0x44d16e
mov dword [esp + 0x1c], eax
add dword [esp + 0x3c], 2
add dword [esp + 0x28], 2
add dword [esp + 0x30], 2
add dword [esp + 0x38], 2
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x34]
jb 0x44d0e0
jmp 0x44d197
mov eax, dword [esp + 0x10]
dec eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x20]
jne 0x44d1d8
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x24]
cmp byte [esp + 0x5c], 0
je 0x44d380
cmp dword [esp + 0x14], ebp
jbe 0x44d320
inc eax
cmp eax, dword [esp + 0x34]
jne 0x44d320
pop edi
pop ebp
pop esi
xor eax, eax
pop ebx
add esp, 0x40
ret
cmp eax, dword [esp + 0x10]
je 0x44d245
mov ecx, dword [esp + 0x54]
mov ecx, dword [ecx + 0x10]
movzx edx, byte [ecx + eax*2 + 0xe]
shl dx, 8
lea ecx, [ecx + eax*2 + 0xe]
movzx ebp, dx
movzx edx, byte [ecx + 1]
or ebp, edx
movzx edx, byte [ecx + ebx + 2]
lea ecx, [ecx + ebx + 2]
shl dx, 8
movzx edi, dx
movzx edx, byte [ecx + 1]
or edi, edx
movzx edx, byte [ecx + ebx]
add ecx, ebx
shl dx, 8
movsx esi, dx
movzx edx, byte [ecx + 1]
or esi, edx
movzx edx, byte [ecx + ebx]
add ecx, ebx
movzx ebx, byte [ecx + 1]
shl dx, 8
movzx edx, dx
or edx, ebx
jmp 0x44d249
cmp edx, 0xffff
je 0x44d1aa
mov ebp, dword [esp + 0x24]
test edx, edx
je 0x44d2ab
mov ebx, dword [esp + 0x14]
sub ebx, edi
lea edx, [edx + ebx*2]
add ecx, edx
cmp byte [esp + 0x5c], 0
je 0x44d269
cmp ecx, dword [esp + 0x44]
ja 0x44d1ae
movzx edx, byte [ecx]
movzx ecx, byte [ecx + 1]
shl dx, 8
movzx edx, dx
or edx, ecx
mov dword [esp + 0x18], edx
je 0x44d1ae
mov ecx, dword [esp + 0x54]
mov ecx, dword [ecx]
add edx, esi
and edx, 0xffff
mov dword [esp + 0x18], edx
cmp edx, dword [ecx + 0x10]
jb 0x44d1ae
mov dword [esp + 0x18], 0
jmp 0x44d1ae
cmp byte [esp + 0x5c], 0
mov edx, dword [esp + 0x14]
lea ecx, [esi + edx]
movzx edx, cx
mov dword [esp + 0x18], edx
je 0x44d380
mov edx, dword [esp + 0x54]
mov edx, dword [edx]
mov edi, dword [esp + 0x18]
cmp edi, dword [edx + 0x10]
jb 0x44d1ae
mov dword [esp + 0x18], 0
test ecx, ecx
jns 0x44d2f5
lea edx, [esi + ebp]
test edx, edx
js 0x44d2f5
neg esi
mov dword [esp + 0x14], esi
jmp 0x44d1ae
cmp ecx, 0x10000
jge 0x44d1ae
lea ecx, [esi + ebp]
cmp ecx, 0x10000
jl 0x44d1ae
mov ecx, 0x10000
sub ecx, esi
mov dword [esp + 0x14], ecx
jmp 0x44d1ae
mov edi, dword [esp + 0x54]
call fcn.0044c520
test eax, eax
je 0x44d34a
cmp dword [esp + 0x18], 0
je 0x44d380
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x14]
pop edi
pop ebp
pop esi
mov dword [eax], edx
mov eax, dword [esp + 0xc]
pop ebx
add esp, 0x40
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov esi, edi
mov dword [esi + 0x18], ecx
test eax, eax
je 0x44d360
mov dword [esi + 0x1c], eax
jmp 0x44d373
mov eax, esi
mov dword [esi + 0x18], ecx
call fcn.0044c670
mov ecx, dword [esi + 0x1c]
mov dword [esp + 0x18], ecx
mov eax, ecx
test eax, eax
je 0x44d380
mov edx, dword [esi + 0x18]
mov eax, dword [esp + 0x58]
mov dword [eax], edx
mov eax, dword [esp + 0x18]
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x40
ret