Function at 0x44f415
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x30
push ebx
push ebp
mov ebx, ecx
mov ebp, edx
push esi
push edi
mov dword [esp + 0x24], ebp
mov edi, dword [ebx]
mov eax, dword [ebx + 0x1e8]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], eax
test byte [edi + 0x3c], 1
mov dword [esp + 0x18], edi
jne 0x44f991
imul eax, dword [esp + 0x44], 0x50
mov ecx, dword [ebp + 0x20]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
mov edx, dword [eax + ecx + 0x38]
mov esi, dword [eax + ecx + 0x1c]
mov dword [esp + 0x38], edx
xor edx, edx
inc edx
cmp dword [esp + 0x4c], 0
mov dword [esp + 0x30], edx
je 0x44f4bd
cmp dword [esp + 0x48], 0
jne 0x44f991
cmp dword [ecx], edx
jg 0x44f991
mov eax, dword [ebp + 0x24]
test eax, eax
je 0x44f493
test dword [eax + 4], 0x200000
jne 0x44f991
mov ecx, dword [ebp]
call fcn.00437e09
test eax, 0x200000
jne 0x44f991
mov ecx, dword [ebp + 0x30]
call fcn.00437e09
test eax, 0x200000
jne 0x44f991
mov ecx, dword [esp + 0x1c]
mov eax, dword [esi + 0x3c]
mov edx, dword [esi + 0x20]
test eax, eax
je 0x44f4d1
cmp dword [ebp + 0x3c], 0
jne 0x44f991
cmp dword [esi + 0x40], 0
jne 0x44f991
movzx ebx, word [ebp + 6]
test bl, bl
mov ebx, dword [esp + 0x2c]
jns 0x44f4ef
test eax, eax
jne 0x44f991
cmp dword [edx], 0
je 0x44f991
movzx edx, word [esi + 6]
test dl, 1
jne 0x44f991
test eax, eax
je 0x44f51f
xor edx, edx
inc edx
cmp dword [ecx], edx
jg 0x44f991
cmp dword [esp + 0x48], 0
jne 0x44f991
movzx edx, word [ebp + 6]
and edx, 1
je 0x44f533
cmp dword [esp + 0x4c], 0
jne 0x44f991
cmp dword [ebp + 0x30], 0
je 0x44f543
cmp dword [esi + 0x30], 0
jne 0x44f991
cmp dword [esp + 0x48], 0
je 0x44f554
cmp dword [esi + 0x30], 0
jne 0x44f991
test eax, eax
je 0x44f56c
xor eax, eax
cmp dword [ebp + 0x24], eax
jne 0x44f991
test dx, dx
jne 0x44f991
movzx eax, word [esi + 6]
test eax, 0x3000
jne 0x44f991
movzx eax, word [ebp + 6]
test eax, 0x2000
je 0x44f591
xor eax, eax
cmp dword [esi + 0x34], eax
jne 0x44f991
mov eax, dword [esp + 0x14]
test byte [eax + ecx + 0x2c], 0x20
jne 0x44f991
lea eax, [esi + 0x34]
cmp dword [eax], 0
mov dword [esp + 0x20], eax
je 0x44f623
xor eax, eax
cmp dword [esi + 0x30], eax
jne 0x44f991
cmp dword [esp + 0x48], eax
jne 0x44f991
test dx, dx
jne 0x44f991
xor edx, edx
inc edx
cmp dword [ecx], edx
jne 0x44f991
test byte [esi + 6], 9
jne 0x44f991
mov ecx, dword [esi + 0x34]
test ecx, ecx
je 0x44f5f0
cmp byte [esi + 4], 0x74
jne 0x44f991
mov eax, dword [esi + 0x20]
cmp dword [eax], edx
jl 0x44f991
mov esi, ecx
test esi, esi
jne 0x44f5d5
mov edx, dword [ebp + 0x30]
test edx, edx
je 0x44f623
cmp dword [edx], ecx
jle 0x44f623
mov eax, dword [edx + 4]
add eax, 0x14
cmp word [eax], si
je 0x44f991
inc ecx
add eax, 0x18
cmp ecx, dword [edx]
jl 0x44f612
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [ecx + esi + 0x10]
mov ecx, ebx
mov dword [ebx + 0x1e8], eax
xor eax, eax
push eax
push eax
push eax
push 0x15
pop edx
call fcn.0043cdfd
mov eax, dword [esp + 0x34]
add esp, 0xc
mov dword [ebx + 0x1e8], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
jmp 0x44f6cc
mov eax, dword [ebp + 0x34]
mov edx, ebp
mov ebx, dword [ebp + 0x30]
mov edi, dword [ebp + 0x3c]
mov esi, dword [ebp + 0x40]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x20], eax
xor eax, eax
push eax
mov dword [ebp + 0x30], eax
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x34], eax
mov dword [ebp + 0x3c], eax
mov dword [ebp + 0x40], eax
call fcn.00437be5
pop ecx
mov ecx, eax
mov dword [ebp + 0x40], esi
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov dword [ebp + 0x3c], edi
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x20], esi
mov byte [ebp + 4], 0x74
test ecx, ecx
je 0x44f6b4
mov dword [ecx + 0x34], eax
test eax, eax
je 0x44f6af
mov dword [eax + 0x38], ecx
mov dword [ecx + 0x38], ebp
mov eax, ecx
mov edi, dword [esp + 0x18]
mov dword [ebp + 0x34], eax
cmp byte [edi + 0x41], 0
jne 0x44f75c
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x34]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x44f659
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + esi + 0x1c]
mov ebx, ecx
mov edx, dword [eax + esi + 0xc]
mov dword [esp + 0x3c], ecx
mov ecx, edi
mov dword [esp + 0x28], ebx
call fcn.00413e42
mov eax, dword [esp + 0x14]
mov ecx, edi
mov edx, dword [eax + esi + 0x10]
call fcn.00413e42
mov eax, dword [esp + 0x14]
mov ecx, edi
mov edx, dword [eax + esi + 0x14]
call fcn.00413e42
mov edx, dword [esp + 0x14]
xor eax, eax
mov ecx, dword [edx + esi + 0x18]
mov dword [edx + esi + 0xc], eax
mov dword [edx + esi + 0x10], eax
mov dword [edx + esi + 0x14], eax
mov dword [edx + esi + 0x1c], eax
test ecx, ecx
je 0x44f76f
movzx eax, word [ecx + 0x24]
cmp ax, word [esp + 0x30]
jne 0x44f764
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 0x198]
test eax, eax
cmovne edx, eax
mov eax, dword [edx + 0x208]
mov dword [ecx + 0x44], eax
mov dword [edx + 0x208], ecx
mov edx, dword [esp + 0x14]
jmp 0x44f769
xor eax, eax
inc eax
jmp 0x44f993
dec eax
mov word [ecx + 0x24], ax
xor eax, eax
mov dword [edx + esi + 0x18], eax
mov ecx, dword [ebp + 0x20]
mov byte [esp + 0x13], al
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], ecx
mov esi, dword [eax]
mov dword [esp + 0x34], esi
test ecx, ecx
je 0x44f799
mov eax, dword [esp + 0x1c]
mov al, byte [edx + eax + 0x2c]
mov byte [esp + 0x13], al
jmp 0x44f7b9
xor eax, eax
xor edx, edx
push eax
push eax
mov ecx, edi
call fcn.00440af6
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x20], ecx
mov dword [ebp + 0x20], ecx
test ecx, ecx
je 0x44f97d
xor eax, eax
inc eax
cmp esi, eax
jle 0x44f7e8
mov eax, dword [esp + 0x44]
mov edx, ecx
inc eax
mov ecx, edi
push eax
lea eax, [esi - 1]
push eax
call fcn.00440a16
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp + 0x20], ecx
cmp byte [edi + 0x41], 0
mov dword [esp + 0x20], ecx
jne 0x44f97d
test esi, esi
jle 0x44f844
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x30]
add edi, 8
mov ebx, dword [esp + 0x34]
add ebp, 8
add edi, ecx
mov dword [esp + 0x2c], edi
mov edx, dword [edi + 0x38]
mov ecx, dword [esp + 0x18]
call fcn.004409a3
push 0x14
pop ecx
push 0x50
xor eax, eax
mov esi, ebp
push eax
rep movsd dword es:[edi], dword [esi]
push ebp
call fcn.0047ed30
mov edi, dword [esp + 0x38]
add esp, 0xc
add edi, 0x50
add ebp, 0x50
mov dword [esp + 0x2c], edi
sub ebx, 1
jne 0x44f804
mov ebp, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov al, byte [esp + 0x13]
mov byte [edx + ecx + 0x2c], al
xor edx, edx
mov eax, dword [ebp]
mov ecx, edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], ecx
cmp dword [eax], edx
jle 0x44f8ab
mov ebp, dword [esp + 0x18]
mov edi, edx
xor esi, esi
mov edx, dword [eax + 4]
cmp dword [edi + edx + 4], esi
jne 0x44f899
mov edx, dword [edi + edx + 8]
mov ecx, ebp
call fcn.0041410e
mov esi, eax
mov ecx, esi
call fcn.00415dc6
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 4]
mov dword [edi + ecx + 4], esi
xor esi, esi
mov ecx, dword [esp + 0x2c]
inc ecx
add edi, 0x18
mov dword [esp + 0x2c], ecx
cmp ecx, dword [eax]
jl 0x44f86b
mov ebp, dword [esp + 0x24]
xor edx, edx
mov ecx, dword [ebx + 0x30]
test ecx, ecx
je 0x44f8d2
mov esi, edx
cmp dword [ecx], edx
jle 0x44f8cc
mov eax, dword [ecx + 4]
lea edx, [edx + 0x18]
xor edi, edi
inc esi
mov word [eax + edx - 4], di
cmp esi, dword [ecx]
jl 0x44f8b8
xor edx, edx
mov dword [ebp + 0x30], ecx
mov dword [ebx + 0x30], edx
mov edi, dword [esp + 0x18]
mov ecx, edi
push edx
push edx
mov edx, dword [ebx + 0x24]
call fcn.00437686
cmp dword [esp + 0x54], 0
mov edx, dword [ebp + 0x24]
pop ecx
pop ecx
mov ecx, edi
je 0x44f923
xor esi, esi
mov dword [ebp + 0x2c], edx
mov dword [ebp + 0x24], eax
mov edx, dword [ebx + 0x2c]
push esi
push esi
call fcn.00437686
mov edx, dword [ebp + 0x2c]
mov ecx, edi
push eax
call fcn.004372bc
add esp, 0xc
mov dword [ebp + 0x2c], eax
mov edx, dword [ebx + 0x28]
mov ecx, edi
push esi
call fcn.0043791c
mov dword [ebp + 0x28], eax
jmp 0x44f92e
push eax
call fcn.004372bc
mov dword [ebp + 0x24], eax
xor esi, esi
pop ecx
push esi
push dword [ebx]
mov edx, ebp
mov ecx, edi
push dword [esp + 0x40]
call fcn.0044f343
mov ax, word [ebx + 6]
xor ecx, ecx
inc ecx
add esp, 0xc
and ax, cx
or word [ebp + 6], ax
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x44f961
mov dword [ebp + 0x3c], eax
xor eax, eax
mov dword [ebx + 0x3c], eax
jmp 0x44f963
xor eax, eax
mov ebp, dword [ebp + 0x34]
mov ebx, dword [ebx + 0x34]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebx
test ebp, ebp
jne 0x44f76f
mov edx, dword [esp + 0x3c]
xor ebx, ebx
inc ebx
mov ecx, edi
push ebx
call fcn.0044befd
pop ecx
mov eax, ebx
jmp 0x44f993
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret