Function at 0x4576a0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x1c
mov eax, dword [esp + 0x20]
push ebx
push ebp
push esi
mov ecx, dword [eax + 0x14]
mov esi, dword [eax + 0x24]
xor ebp, ebp
push edi
mov ecx, dword [ecx + 0xa8]
mov edi, dword [eax + 0x30]
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ebp
mov ebx, dword [ecx + 0x24]
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x1c], ecx
mov ecx, dword [eax + 0x18]
mov edx, dword [ebx + 4]
and ecx, 0xc0000000
cmp ecx, 0x40000000
jne 0x457706
mov dword [ebx + 0x84], eax
mov dword [ebx + 0x8c], 1
mov ecx, dword [eax + 0x3c]
push eax
mov dword [ebx + 0x90], ecx
call fcn.00457648
jmp 0x457adc
xor eax, eax
push 8
mov ah, byte [edi + 1]
pop ecx
mov al, byte [edi]
mov dword [esp + 0x28], eax
mov ax, word [edi + 2]
mov word [esp + 0x14], ax
mov ax, word [edi + 4]
mov word [esp + 0x10], ax
mov ax, word [edi + 6]
mov word [esp + 0x18], ax
lea edi, [ebx + 0x98]
xor eax, eax
rep stosd dword es:[edi], eax
movzx eax, word [esp + 0x28]
mov ecx, 0x123
cmp eax, ecx
jg 0x4578d9
je 0x45781b
mov edi, 0x80
sub eax, edi
je 0x45780f
dec eax
je 0x457809
dec eax
je 0x457809
sub eax, 0x1e
je 0x4577ff
sub eax, 3
je 0x457793
sub eax, 0x5f
je 0x457788
sub eax, 0x1e
jne 0x457966
movzx eax, word [esp + 0x14]
dec eax
jmp 0x457a0a
movzx ebp, word [esp + 0x10]
lea eax, [edx + ebp*2 + 0xe]
push eax
call dword [0x16f2c]
mov bx, word [ebx + ebp*4 + 0x94]
push 4
movzx eax, ax
mov edx, eax
mov ecx, eax
sar edx, 2
shl bx, 4
and edx, 2
pop ebp
sar ecx, 1
or ebx, edx
mov dl, cl
and edx, 1
and ecx, 2
or ebx, edx
mov edx, eax
and edx, 0x100
mov word [esi + 2], bx
or edx, edi
mov edi, eax
sar edi, 5
shl edx, 1
and edi, 0x10
or edx, edi
mov edi, eax
sar edi, 0xa
and edi, ebp
and eax, 1
or edx, edi
or edx, ecx
or edx, eax
mov word [esi], dx
jmp 0x457ac4
and dword [esi], 0
push 4
jmp 0x457914
and word [esi], 0
jmp 0x457814
mov word [esi], 1
push 2
jmp 0x457914
movzx eax, word [esp + 0x14]
cmp eax, 0x11
jg 0x4578af
je 0x457893
dec eax
je 0x457879
dec eax
je 0x45785f
sub eax, 6
je 0x457ac2
sub eax, 8
jne 0x457ac4
movzx eax, word [esp + 0x10]
lea esi, [edx + eax*2 + 0xe]
push esi
call dword [0x16f2c]
and eax, 0xfff5
or al, 2
jmp 0x457aba
movzx eax, word [esp + 0x10]
lea esi, [edx + eax*2 + 0xe]
push esi
call dword [0x16f2c]
and eax, 0xeff5
jmp 0x457aba
movzx eax, word [esp + 0x10]
lea esi, [edx + eax*2 + 0xe]
push esi
call dword [0x16f2c]
and eax, 0xfff1
jmp 0x457aba
movzx eax, word [esp + 0x10]
lea esi, [edx + eax*2 + 0xe]
push esi
call dword [0x16f2c]
and eax, 0xfff5
or al, 8
jmp 0x457aba
sub eax, 0x12
je 0x457ac2
dec eax
je 0x457ac2
dec eax
jne 0x457ac4
movzx eax, word [esp + 0x10]
xor ebp, ebp
mov dword [ebx + eax*4 + 0x94], ebp
jmp 0x457ac4
sub eax, 0x323
je 0x4579f0
sub eax, 0x1dd
je 0x4579e0
sub eax, 0x180
je 0x457951
sub eax, 0x20
je 0x45791a
sub eax, 0x1e0
je 0x45790f
sub eax, 0x80
je 0x457ac2
jmp 0x457966
mov byte [esi], 1
push 1
pop ebp
jmp 0x457ac4
mov al, byte [ebx + 0x94]
mov ecx, dword [esp + 0x18]
push 9
mov byte [0x17226], al
pop edx
cmp cx, dx
mov eax, edx
ja 0x457936
movzx eax, cx
mov ebp, dword [esp + 0x1c]
cmp ebp, eax
jb 0x457948
cmp cx, dx
mov ebp, edx
ja 0x457948
movzx ebp, cx
mov ecx, ebp
mov esi, 0x17224
jmp 0x45799d
movzx eax, word [esp + 0x14]
shr eax, 8
dec eax
je 0x4579b4
dec eax
je 0x457973
dec eax
jne 0x457ac4
mov dword [esp + 0x24], 0xffffffe0
jmp 0x457ac4
mov ecx, dword [esp + 0x18]
push 0x19
pop edx
cmp cx, dx
mov eax, edx
ja 0x457984
movzx eax, cx
mov ebp, dword [esp + 0x1c]
cmp ebp, eax
jb 0x457996
cmp cx, dx
mov ebp, edx
ja 0x457996
movzx ebp, cx
mov ecx, ebp
mov esi, 0x17208
mov edi, dword [esp + 0x20]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x457ac4
mov ecx, dword [esp + 0x18]
push 0x12
pop edx
cmp cx, dx
mov eax, edx
ja 0x4579c5
movzx eax, cx
mov ebp, dword [esp + 0x1c]
cmp ebp, eax
jb 0x4579d7
cmp cx, dx
mov ebp, edx
ja 0x4579d7
movzx ebp, cx
mov ecx, ebp
mov esi, 0x171f4
jmp 0x45799d
movzx eax, word [esp + 0x14]
mov dword [ebx + 0x80], eax
jmp 0x457ac2
movzx eax, word [esp + 0x14]
dec eax
je 0x457aa3
dec eax
je 0x457a89
dec eax
dec eax
je 0x457a15
sub eax, 4
jne 0x457ac4
jmp 0x457ac2
movzx eax, word [esp + 0x10]
mov edi, dword [0x16f2c]
mov dword [esp + 0x28], eax
lea esi, [edx + eax*2 + 0xe]
push esi
call edi
mov ebp, dword [0x16f28]
and eax, 0xfdf5
or ah, 2
push eax
push esi
call ebp
push 0xa
call fcn.00452612
push esi
mov eax, dword [esp + 0x2c]
mov dword [ebx + eax*4 + 0x94], 1
call edi
and eax, 0xfdf5
push eax
push esi
call ebp
push 0xa
call fcn.00452646
push esi
call edi
and eax, 0xfff1
or al, 4
push eax
push esi
call ebp
push 0xa
call fcn.00452612
push esi
call edi
movzx eax, ax
or al, 0xa
push eax
push esi
call ebp
jmp 0x457ac2
movzx eax, word [esp + 0x10]
lea esi, [edx + eax*2 + 0xe]
push esi
call dword [0x16f2c]
and eax, 0xeff5
or ah, 0x10
jmp 0x457aba
movzx eax, word [esp + 0x10]
lea esi, [edx + eax*2 + 0xe]
push esi
call dword [0x16f2c]
and eax, 0xfff1
or al, 4
push eax
push esi
call dword [0x16f28]
xor ebp, ebp
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x1c], ecx
mov ecx, dword [eax + 0x4c]
test ecx, ecx
mov dword [eax + 0x2c], ebp
je 0x457adc
push eax
call ecx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1c
ret 4