Function at 0x45f450
Capabilities:
Enumerate pe sections

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0x28
mov ebx, dword [esp + 0x3c]
mov dword [esp + 8], 0
call fcn.00450330
lea esi, [ebx + 8]
add ebx, 0xc
mov edi, dword [esi]
add dword [esp + 8], 0xc
xor edx, edx
test edi, edi
jbe 0x45f512
mov dword [esp + 0x10], edi
add dword [esp + 0x10], 0xfffffff8
cmp edi, 8
jbe 0x45f50e
mov ebp, edx
mov al, byte [ebx]
inc ebp
mov byte [edx + 0x821280], al
mov al, byte [ebx + 1]
mov byte [ebp + 0x821280], al
lea ecx, [edx + 2]
mov al, byte [ebx + 2]
mov byte [ecx + 0x821280], al
lea esi, [edx + 3]
mov al, byte [ebx + 3]
mov byte [esi + 0x821280], al
lea ebp, [edx + 4]
mov al, byte [ebx + 4]
mov byte [ebp + 0x821280], al
lea ecx, [edx + 5]
mov al, byte [ebx + 5]
mov byte [ecx + 0x821280], al
lea esi, [edx + 6]
mov al, byte [ebx + 6]
mov byte [esi + 0x821280], al
lea ebp, [edx + 7]
add edx, 8
mov al, byte [ebx + 7]
add dword [esp + 8], 8
add ebx, 8
cmp edx, dword [esp + 0x10]
mov byte [ebp + 0x821280], al
jb 0x45f491
jmp 0x45f50e
mov al, byte [ebx]
inc ebx
inc dword [esp + 8]
mov byte [edx + 0x821280], al
inc edx
cmp edx, edi
jb 0x45f500
lea ecx, [ebx + 4]
mov dword [esp + 0xc], 0
mov eax, dword [ecx]
mov dword [0x978748], eax
lea esi, [ebx + 8]
mov eax, dword [esi]
add ebx, 0xc
add dword [esp + 8], 0xc
mov dword [0x9785e4], eax
xor ebp, ebp
mov ecx, dword [ebx]
lea eax, [ebx + 4]
cmp ecx, 2
mov eax, dword [eax]
mov edx, dword [ebx]
ja case.default.0x45f546
jmp dword [ecx*4 + 0x68a384]
mov dword [ebp + 0x94dbe8], 0
jmp case.default.0x45f546
mov edi, dword [0x978834]
dec eax
mov esi, edi
mov edx, dword [esi + 4]
movzx ecx, byte [edx + eax]
and ecx, 0x80
je 0x45f575
xor esi, esi
jmp 0x45f580
lea esi, [eax + eax*2]
shl esi, 5
lea esi, [esi + eax*4]
add esi, dword [edi]
mov dword [ebp + 0x94dbe8], esi
jmp case.default.0x45f546
mov esi, dword [0x97f240]
mov ecx, eax
mov eax, esi
dec ecx
mov edx, dword [eax + 4]
movzx eax, byte [edx + ecx]
and eax, 0x80
je 0x45f5a5
xor eax, eax
jmp 0x45f5b0
lea eax, [ecx + ecx*2]
shl eax, 5
lea eax, [eax + ecx*4]
add eax, dword [esi]
mov dword [ebp + 0x94dbe8], eax
lea edx, [ebx + 8]
mov eax, dword [edx]
mov dword [ebp + 0x94dbec], eax
lea ecx, [ebx + 0xc]
mov eax, dword [ecx]
add ebx, 0x10
mov dword [ebp + 0x94dbf0], eax
mov ecx, dword [ebp + 0x94dbe8]
add dword [esp + 8], 0x10
test ecx, ecx
je 0x45f5ea
mov eax, dword [ebp + 0x94dbec]
push eax
call fcn.00407db0
inc dword [esp + 0xc]
add ebp, 0xc
cmp dword [esp + 0xc], 0x19
jb 0x45f538
xor edx, edx
mov eax, eax
lea eax, [ebx + 4]
mov ecx, dword [ebx]
add ebx, 8
mov eax, dword [eax]
add dword [esp + 8], 8
cmp ecx, 4
mov esi, ecx
ja case.default.0x45f61a
jmp dword [ecx*4 + 0x68a370]
mov dword [edx*4 + 0x938208], 0
jmp case.default.0x45f61a
mov edi, dword [0x978834]
dec eax
mov ebp, edi
mov esi, dword [ebp + 4]
movzx ecx, byte [esi + eax]
and ecx, 0x80
je 0x45f650
xor ebp, ebp
jmp 0x45f65c
lea ebp, [eax + eax*2]
shl ebp, 5
lea ebp, [ebp + eax*4]
add ebp, dword [edi]
mov dword [edx*4 + 0x938208], ebp
jmp case.default.0x45f61a
mov ecx, dword [0x97f240]
mov esi, eax
mov ebp, ecx
dec esi
mov eax, dword [ebp + 4]
movzx eax, byte [eax + esi]
and eax, 0x80
je 0x45f685
xor eax, eax
jmp 0x45f690
lea eax, [esi + esi*2]
shl eax, 5
lea eax, [eax + esi*4]
add eax, dword [ecx]
mov dword [edx*4 + 0x938208], eax
jmp case.default.0x45f61a
mov edi, dword [0x94dbe0]
mov ecx, eax
mov ebp, edi
dec ecx
mov esi, dword [ebp + 4]
movzx eax, byte [esi + ecx]
and eax, 0x80
je 0x45f6b6
xor ecx, ecx
jmp 0x45f6be
imul ecx, ecx, 0x1a0
add ecx, dword [edi]
mov dword [edx*4 + 0x938208], ecx
jmp case.default.0x45f61a
mov edi, dword [0x97f25c]
mov ecx, eax
mov ebp, edi
dec ecx
mov esi, dword [ebp + 4]
movzx eax, byte [esi + ecx]
and eax, 0x80
je 0x45f6e4
xor ecx, ecx
jmp 0x45f6e9
imul ecx, ecx, 0x68
add ecx, dword [edi]
mov dword [edx*4 + 0x938208], ecx
mov ebp, dword [edx*4 + 0x938208]
test ebp, ebp
je 0x45f703
mov al, byte [ebp + 0x52]
and al, 0xfb
mov byte [ebp + 0x52], al
inc edx
cmp edx, 0x14
jb 0x45f600
mov al, byte [ebx + 1]
mov dword [esp + 0x20], 0
mov byte [0xa10b7f], al
lea ecx, [ebx + 0x10]
add ebx, 0x14
mov eax, dword [ecx]
add dword [esp + 8], 0x14
mov dword [esp + 0x24], eax
jmp 0x45f7b8
push 0
call fcn.00450270
pop ecx
mov ecx, dword [eax]
mov dword [esp + 0x14], ecx
mov ecx, dword [eax + 4]
xor edi, edi
mov dword [esp + 0x18], ecx
mov esi, eax
lea eax, [eax]
mov ebp, edi
mov dl, byte [ebx]
inc ebp
mov byte [esi + edi], dl
mov dl, byte [ebx + 1]
mov byte [esi + ebp], dl
lea ecx, [edi + 2]
mov dl, byte [ebx + 2]
mov byte [esi + ecx], dl
lea ebp, [edi + 3]
mov cl, byte [ebx + 3]
mov byte [esi + ebp], cl
lea edx, [edi + 4]
mov cl, byte [ebx + 4]
mov byte [esi + edx], cl
lea ebp, [edi + 5]
mov dl, byte [ebx + 5]
mov byte [esi + ebp], dl
lea ecx, [edi + 6]
mov dl, byte [ebx + 6]
mov byte [esi + ecx], dl
lea ebp, [edi + 7]
add edi, 8
mov cl, byte [ebx + 7]
add ebx, 8
mov byte [esi + ebp], cl
add dword [esp + 8], 8
cmp edi, 0x88
jb 0x45f750
mov ecx, dword [esp + 0x14]
mov dword [eax], ecx
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], ecx
inc dword [esp + 0x20]
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x24]
jb 0x45f733
add esp, 0x28
pop ebp
pop edi
pop esi
pop ebx
ret